2016-09-27 141 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 –