【发布时间】:2018-10-13 20:35:05
【问题描述】:
阿贾克斯:
var test = "test";
$.ajax(
{
type: "POST",
url: "project/function",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { input: test },
success: function (response) {
$("#lblMsg").text(response.d);
},
failure: function (response) {
alert(response.d);
}
});
C#函数:
[WebMethod]
public void function(string input)
{
}
当我不包含参数时,连接成功。我尝试了 ajax 调用的“数据”部分的不同单引号和双引号排列,但无济于事。
我也尝试将 dataType 设置为“text”,结果相似。
我错过了什么?
【问题讨论】:
-
你能从 Postman 那里得到它吗?请在 Chrome 中加载开发者工具(网络选项卡)并向我们展示正在发出的请求(包括正在发送的 URL 和有效负载)。
-
我是 ajax 和 jquery 新手,所以还不熟悉最佳实践。
-
你试过 json.stringify 吗?数据:JSON.stringify({输入:测试}),
-
您从哪个页面发送请求?
-
@ChasetopherB我忘了补充,你知道在jquery ajax中没有“失败”这样的功能吗?在出现问题时指定回调的正确选项是“错误”。目前,当方法失败时,您的代码将什么也不做。此外,“错误”回调在响应中不包含名为
d的属性,而是您将获得一个 XHR 对象 - 它的内容在文档中进行了解释。我在这里经常看到这个错误,也许网上有一些垃圾教程在使用它。您可以在此处检查所有有效选项等:api.jquery.com/jquery.ajax
标签: c# jquery asp.net ajax webmethod