使用参数从jquery调用c#代码

时间:2015-06-03 15:38:41

标签: javascript c# jquery asp.net ajax

Ajax代码

[WebMethod]
public static string SearchStateList()
{

}

代码背后

$.ajax({
    type: "POST",
    url: "LiveFeed.aspx/SearchStateList",
    contentType: "application/json; charset=utf-8",
    data:{value:"samplevalue"},
    dataType: "json",
    success: function (response) {
        $("#Content").text(response.d);
    },
    failure: function (response) {
        alert(response.d);
    }
});

上面的代码工作正常,后面的代码叫做

但是当我发送下面给出的一些参数时,不会调用后面的代码,当我看到Firebug控制台错误时,它会抛出

  

NetworkError:500内部服务器错误 -   http://localhost:61276/App/LiveFeed/LiveFeed.aspx/SearchStateList

Ajax代码

[WebMethod]
public static string SearchStateList(string value)
{

}

代码背后

var param={value:"samplevalue"}

data:JSON.stringify(param),

我还尝试将ajax调用的数据修改为

data:param,

并且还直接尝试了JSON.stringify

{{1}}

每次当我尝试传递参数时,它都不会调用代码,并且会抛出500错误。

4 个答案:

答案 0 :(得分:3)

你为什么不试试

var param={"value":"samplevalue"}

data:JSON.stringify(param),

答案 1 :(得分:0)

我认为数据内容附带引号:

data: '{value:"samplevalue"}',

答案 2 :(得分:-1)

您可以通过访问Request Collection来访问数据中发送的变量。

Request.Form["your_var_name"]  // use this when you $.post
Request["your_var_name"] // use this when you $.get

所以你的代码背后可能是这样的:

public static string SearchStateList(string value)
{
    Response.Write("The value of value is: " + Request.Form["value"]);
}

答案 3 :(得分:-1)

在您的Ajax帖子中,您已将data属性设置为: -

data:{value:"samplevalue"}  

微妙的改变,以下是可行的: -

 data:{ "value" :"samplevalue"}