2016-09-27 184 views
0

我在尝试将我的html连接到MongoDB。 数据已成功输入,但ajax无法启动。我要确保我输入的是我的数据库(登录表单)。这里是我的代码:JQuery Ajax 500错误

.controller('LoginCtrl', function($scope, $state, $location, $ionicPopup) { 
    $scope.login = function(data) { 
      var formdata = { 

        phone : $("#phone").val(), 
        pin : $("#pin").val()  
      }; 

      var Jformdata = JSON.stringify(formdata); 
      console.log(Jformdata); 

      $.ajax({ 

       url : "/SinarmasProject/Submit", 
       context : document.body, 
       type : 'POST', 
       data : Jformdata, 
       contentType : "application/json; charset=utf-8", 
      }).done(function (response){ 

       if(response == "true"){ 
        $location.path('/login/main/dash'); 
       }else if(response == "false"){ 
        $scope.showAlert('Nomer Telephone dan PIN Salah'); 
       } 

      }); 
} 
}) 

错误原来是这样的:

POST http://localhost:8089/SinarmasProject/Submit 500() jquery-3.1.0.min.js:4 
send @ jquery-3.1.0.min.js:4 
ajax @ jquery-3.1.0.min.js:4 
$scope.login @ controllers.js:41 
$parseFunctionCall @ ionic.bundle.js:20628 
(anonymous function) @ ionic.bundle.js:52854 
$eval @ ionic.bundle.js:22684 
$apply @ ionic.bundle.js:22783 
(anonymous function) @ ionic.bundle.js:52853 
eventHandler @ ionic.bundle.js:11297 
triggerMouseEvent @ ionic.bundle.js:2863 
tapClick @ ionic.bundle.js:2852 
tapMouseUp @ ionic.bundle.js:2922 


EDIT: My controller.java 

    package com.spring.controller; 

    import java.util.List; 

    import org.springframework.beans.factory.annotation.Autowired; 
    import org.springframework.data.mongodb.core.MongoTemplate; 
    import org.springframework.data.mongodb.core.query.Criteria; 
    import org.springframework.data.mongodb.core.query.Query; 
    import org.springframework.stereotype.Controller; 
    import org.springframework.web.bind.annotation.RequestBody; 
    import org.springframework.web.bind.annotation.RequestMapping; 
    import org.springframework.web.bind.annotation.RequestMethod; 
    import org.springframework.web.bind.annotation.ResponseBody; 
    import com.spring.beans.BankBean; 

    @Controller 
    public class controller { 

     @Autowired 
     private MongoTemplate mongotemplate; 

     @RequestMapping(value="/BankMasuk", method= {RequestMethod.GET}) 
     //@ResponseBody 
     public List<BankBean> BankMasuk(){ 
      List<BankBean> BankBean = mongotemplate.find(new Query(), BankBean.class); 
      return BankBean; 
     } 

     @RequestMapping(value="/Submit", method={RequestMethod.POST}) 
     @ResponseBody 
     public String SubmitBtn(@RequestBody BankBean bank){ 

      String temp; 
      String string1 = bank.getPhone(); 
      String string2 = bank.getPin(); 
      Query query = new Query(); 
      query.addCriteria(Criteria.where("phone").is(string1)); 
      BankBean person = mongotemplate.findOne(query, BankBean.class); 


      if(string1.equals(person.getPhone()) && string2.equals(person.getPin())){ 
       temp = "true"; 
      }else{ 
       temp="false"; 
      } 


      return temp; 
     } 

    } 

编辑:BankBean

package com.spring.beans; 

public class BankBean { 
    public String phone; 
    public String pin; 
    public String getPhone() { 
     return phone; 
    } 
    public void setPhone(String phone) { 
     this.phone = phone; 
    } 
    public String getPin() { 
     return pin; 
    } 
    public void setPin(String pin) { 
     this.pin = pin; 
    } 
    @Override 
    public String toString() { 
     return "BankBean [phone=" + phone + ", pin=" + pin + "]"; 
    } 

} 
+1

更多的是'服务器side'错误我想的.. – Rayon

+5

500错误通常意味着问题是您的服务器上。你应该调查在那里执行的代码。 –

+0

500错误意味着您的服务器/控制器正在等待您未提供或以错误格式发送的某些参数。请检查您的处理发生在服务器端或在这里张贴它的一部分。 – Daniel

回答

0

尝试使用

.fail (function(data){ 
alert(data); 
}); 

在你的jQuery知道更多关于编辑和fai的错误语法升

.done(function (data) { 
     xxx; 
    }).fail(function (jqXHR, textStatus) { 
     xxx; 
    }) 
+0

只是在我的jQuery中的任何地方添加它? –

+0

没有在任何地方添加之后.done让我用例子来解释:.done(功能(数据){ XXX; })失败(函数(jqXHR,textStatus){ XXX; –

+0

我正在编辑我的答案与语法.done和.fail –