我通过jquery.ajax将一个包含字符串的javascript变量传递给服务器。尽管调用了“成功”条件,但从未调用服务器端WebMethod。客户端:
$.ajax({
type: "post",
url: "Playground.aspx/childBind",
data: {sendData: ID},
//contentType: "application/json; charset=utf-8",
dataType: "text",
success: function (result) { alert("successful!" + result.d); }
})服务器:
[WebMethod]
public static string childBind(string sendData)
{
return String.Format("Hello");
}发布于 2011-09-01 04:38:29
尝试对您的Ajax请求进行以下修复:
$.ajax({
type: "post",
url: "Playground.aspx/childBind",
data: "{sendData: '" + ID + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) { alert("successful!" + result.d); }
})请注意,将dataType和data值更改为字符串。
发布于 2018-05-25 12:12:13
我也遇到过同样的问题。在谷歌搜索之后,我找到了解决方案,它对我很有效。导航到RouteConfig.cs并注释掉下面的行:
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
//settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
}发布于 2012-08-23 15:59:48
我想添加一个注释:您将有数据错误的"ID“(或另一个字段)字符串包含引号,如=‘。解决这个问题:
var DTO = {'sendData': ID};
$.ajax({
"type": "POST",
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"url": sSource,
"data": JSON.stringify(DTO),
"success": function (msg) {
//do something
}
});https://stackoverflow.com/questions/7262940
复制相似问题