我正在尝试从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之间的名称相同,我的所有变量都有值。
提前致谢
答案 0 :(得分:1)
$.ajax({
method: "GET",
url: "ContactUs.aspx/SendEmail?name=" + name + "&company=" + company + "&country=" + "&email=" +email + "&msg=" + Msg,
dataType: "application/json",
success: function (data) {
var a = 3;
},
error:function(a,b){
var a = 43;
}
}) ;
由于它是GET类型的请求,您需要在查询字符串中传递webmethod参数所需的值。你不能使用data
参数,因为GET类型的请求没有有效负载。