热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jQuery教程分享从控制器返回Json,从未成功

我使用以下代码成功发布到我的控制器,但是,成功永远不会被命中只有错误。我究竟做错了什么?JS:$.ajax({url:'HomeSubscribe',type:

我使用以下代码成功发布到我的控制器,但是,成功永远不会被命中只有错误。 我究竟做错了什么?

JS:

$.ajax({ url: '/Home/Subscribe', type: 'POST', dataType: 'json', data: { email: $('#sube').val() }, success: function (data) { // get the result and do some magic with it alert(data.foo); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); } }); 

控制器:

 [HttpPost] public JsonResult Subscribe(string email) { return Json(new { foo = "bar", baz = "Blech" }); } 

    在IE中,按F12打开开发人员工具。 转到“网络”选项卡,然后单击“启动Profiler”。 向您的订阅操作发送请求 – 在下面的列表中,您将看到已发送请求和返回状态代码的详细信息。 双击请求查看详细信息 – 然后您可以查看响应的正文。 如果请求因服务器错误而失败,您将在响应正文中看到该错误。

    我看到你的代码有一个错误的地方就是你已经硬编码了url:

     url: '/Home/Subscribe' 

    你永远不应该这样做。 在ASP.NET MVC应用程序中生成URL时,应始终使用URL帮助程序:

     url: '@Url.Action("Subscribe", "Home")' 

    此外,您说错误回调总是被命中,但是当您尝试分析AJAX请求时,您没有说出您在FireBug或Chrome Developer工具栏中观察到的内容。 如果你这样做了,你就会看到请求失败的确切原因,因为你会看到发送给服务器的请求以及服务器发送回客户端的响应。

    以下是我的jQuery ajax片段。 你的控制器看起来正确 我假设您已经validation它实际上是通过使用断点调用的。

    需要了解更多jQuery教程分享从控制器返回Json,从未成功,都可以关注jQuery技术分享栏目—编程笔记

     var p = { email: $('#sube').val() }; $.ajax({ url: '@Url.Action("Subscribe", "Home")' type: 'POST', data: JSON.stringify(p), dataType: "text json", contentType: "application/json", success: function (data) { // get the result and do some magic with it alert(data.foo); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); } }); 

      以上就是jQuery教程分享从控制器返回Json,从未成功相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(编程笔记)。


      推荐阅读
      author-avatar
      吖鸟集团总公司
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有