【发布时间】:2017-03-16 17:10:44
【问题描述】:
我正在尝试从 ajax 调用服务器端函数,但一直收到此错误
无效的 Web 服务调用,缺少参数值:\u0027name\u0027。
这里是js代码
var obj = { name: name, company: company, country: country, email: email, msg: Msg }
var json = JSON.stringify(obj);
$.ajax({
method: "GET",
url: "ContactUs.aspx/SendEmail",
contentType: "application/json; charset=UTF-8",
data: json,
dataType:"json",
success: function (data) {
var a = 3;
},
error:function(a,b){
var a = 43;
}
})
这里是 c# webmethod
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string SendEmail(string name, string company, string country, string email, string msg)
{
return string.Empty;
}
js 和 c# vars 之间的名称相同,并且我的所有 vars 都有值。
提前致谢
【问题讨论】:
-
您正在执行 POST 但该方法看起来像是 GET?
-
没有。那是我想解决的问题,应该是 GET
-
Check this answer。传递整个对象。
-
我认为你不需要对 obj 进行字符串化
-
我认为 webmethod 必须是 POST。这是aspsnippets.com/Articles/… 的一个简单示例