2017-04-10 97 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); 
      } 
     }); 

我认为这是工作

相关问题