2017-04-10 105 views
0

你能幫助解決這個問題嗎? 我想將我的數據傳遞給控制器​​。下面你可以看到我的ajax代碼。無法將數據從視圖發送到控制器

<script type="text/javascript"> 
    $(document).on("click", "#login_button", function() { 

     var userName = document.getElementById("userName").value; 
     var password = document.getElementById("password").value; 

     if (userName !== "" && password !== "") { 

      $.ajax({ 

       url: '/Home/Login', 
       type: 'POST', 
       contentType: 'application/json; charset=utf-8', 
       data: { 
        'userName' : userName, 
        'password' : password 
       }, 
       datatype: 'json', 
       success: function (data) { 
       } 


      }) 
     } 
     else { 
      alert("Lütfen Alanları Doldurunuz.") 

     } 
    }) 


</script> 

我的控制器就像是,

[HttpPost] 
    public ActionResult Login(string userName, string password) 
    { 
     return View(); 
    } 

我檢查我的數據,它不是空或空。我該如何解決它?

現在我得到這個錯誤=

jquery.min.js:4 POST http://localhost:59277/Home/Login 500 (Internal Server Error) 

非常感謝。

+0

您的代碼發送POST請求和它的只允許HTTPGET這樣改就JavaScript或C#的一面,既會工作。 – Adrian

+1

你的AJAX使用POST,你的服務器允許GET。兩者都需要使用相同的HTTP動詞類型。 – Kyle

+0

我做HttpGet HttpPost和我把調試器到我的控制器,我仍然無法獲得數據 –

回答

0

今天在編程比賽中我遇到了同樣的問題。 我用發送一個GET請求以不同的方式解決了什麼吧:

$.get("URL/to/send/request/to", function(data, status){ 
     alert("Data: " + data + "\nStatus: " + status);//data is the actual response you get, while status is weather the request was successful 
    }); 
}); 

希望它爲你工作了。

0

我THIK你應該使用

url: 'http://stackoverflow.com/Home/Login', 

,而不是

Home/Login 
+0

它仍然無法正常工作 –

0

我解決我的問題改變了Ajax的類型是「GET」,並改變我的控制器「HTTPGET」但是當我做這對於「POST」它沒有解決。任何人都可以解釋給我嗎?

0
$.ajax({ 
      url: 'http://stackoverflow.com/Home/Login', 
      type: "POST", 
      dataType: 'json', 
      data: dataToPost, 

      contentType: "application/json; charset=utf-8", 
      success: function (data) { 
       alert("hi" + data); 
      } 
     }); 

我認爲這是工作

相關問題