![](/img/trans.png)
[英]Is there a way to call server side Groovy object method from client side JavaScript code via AJAX?
[英]How to call a server side method with a parameter (an object) using ajax where the url has query params?
我需要从客户端调用服务器端方法MethodToBeCalledFromJS
。 ajax调用需要一个包含查询参数的URL。 我在Ajax调用中将方法名称放在哪里?
这是js代码
$.ajax({
type: "POST",
url: "MyPage.aspx?queryParam1=value1&queryParam2=value2",
data: "{ Param1: " + JSON.stringify(myObject) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (msg) {
alert(msg);
},
error: function (x, e) {
}
});
我需要在C#中调用以下函数
[WebMethod]
public string MethodToBeCalledFromJS(MyObject obj)
{
return "successful!";
}
在您的网址中添加MethodName
url: "MyPage.aspx/MethodToBeCalledFromJS?queryParam1=value1&queryParam2=value2",
尝试这个:
$.ajax({
type: "POST",
url: "MyPage.aspx",
data: { 'obj': JSON.stringify(myObject),
'param2': 'myOtherValue'},
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (msg) {
alert(msg);
},
error: function (x, e) {
}
});
调用方法必须在aspx页面名称之后。 您可以直接在data
传递参数:
$.ajax({
type: "POST",
url: "MyPage.aspx?MethodToBeCalledFromJS",
data: "{ obj: " + JSON.stringify(myObject) + ", queryParam1: value1, queryParam2: value2 }",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (msg) {
alert(msg);
},
error: function (x, e) {
}
});
然后你的方法:
[WebMethod]
public string MethodToBeCalledFromJS(MyObject obj, string queryParam1, string queryParam2)
{
return "successful!";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.