我使用ajax的get方法调用函数。实际上在网上搜索后我发现了一种方法!! 我在fetch.aspx中的功能是:
public string GetData(string user)
{
}
因此,为了调用这个函数,我写了一个$ .Get,它是:
$.get("Fetch.aspx", function (data) {
GetData(user);
alert("Data Loaded: " + data);
});
所以在这里如何在Get方法中传递参数? 的GetData(用户:'" someValue中"&#39); 这是对的吗?
答案 0 :(得分:0)
方法:我们必须使用web方法进行ajax调用(Fetch.aspx.cs)
[WebMethod]
public static void GetData(string user)
{
}
Jquery:您必须使用POST来传递参数
$.ajax({
url: "Fetch.aspx/GetData",
async: false,
type: "POST",
data: "{ 'user': 'someValue' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (jsonObj) {
alert(sucess);
},
error: function (msg) {
alert(fail);
}
});
答案 1 :(得分:0)
更新:
您应该使用Web方法属性:
ASP.NET代码:
[WebMethod()]
[ScriptMethod(ResponseFormat=ResponseFormat.Json, UseHttpGet=true)]
public static string GetData(string user)
{
/*You can do database operations here if required*/
return "hello " + user;
}
$ .get只是$ .ajax的简写方法,更多信息here。但是,要在Web表单中调用Web方法,您需要指定contentType="application/json; charset=utf-8"
,而不能使用$ .get。
此外,要在GET请求中发送参数,您必须在查询字符串中指定它们 - 如下所示:Fetch.aspx/GetData?user='chavakane'
另一件事,jquery默认缓存GET请求的响应,你可以关闭它,但我建议只使用GET请求加载东西。
的Javascript / JQuery的:
$.ajax({
type: "GET",
url: "Fetch.aspx/GetData?user='chavakane'",
contentType: "application/json; charset=utf-8",
success: function (data) { alert(data.d);}
});