带参数的回调和函数

时间:2014-04-17 07:05:20

标签: jquery

我使用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);  这是对的吗?

2 个答案:

答案 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);}
});