-1

可能的重复:
如何将值从后面的代码返回到 AJAX?

这是我的 AJAX 代码

$.ajax({
        type: 'POST',
        url: 'country_management.aspx/save',
        cache: false,
        data: "{'parameter':'paramValue'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
                 alert(data.d);
                 if (data.d == "error") {
                    $('.success_box').hide();
                    $('.error_box').show();
                 }
                 else {
                    $('#name').val('');
                    $('.error_box').hide();
                    $('.success_box').show();
                 }
        }
});

代码背后:

[WebMethod]
[ScriptMethod]
public static string save(string parameter)
{
    string name = HttpContext.Current.Request.QueryString["name"].Trim();
    return "error";
}

写完第一行后,return 语句不会向 AJAX 返回任何内容。

4

2 回答 2

0

因为您没有发布任何字段或属性“名称”如果您在单击表单内的按钮后执行 ajax,数据将被序列化表单。

另一件事是,你为什么要在查询字符串中期待“name” var,我没有看到任何带有 aspx?name="any name" 的 url

于 2012-09-14T08:44:52.407 回答
0

在不了解整个应用程序的上下文的情况下很难回答您的问题。(名称是否从应用程序的其他地方提供,您可以使用会话吗?)

但是是什么阻止您在 ajax 调用中传递名称?而不是仅仅通过'parameter':'paramValue'发送。

您必须记住您的查询字符串应该包含您要查找的参数。目前它看起来像。

http://www.somesite.com/country_management.aspx/save?parameter=paramValue

当你真正需要时

例如

http://www.somesite.com/country_management.aspx/save?parameter=paramValue&name=newName

Javascript

$.ajax({
        type: 'POST',
        url: 'country_management.aspx/save',
        data: { parameter:'paramValue', name: 'newName'},
        success: function (data) { 
           //do something with the response
        }         

});

代码隐藏

[WebMethod]
[ScriptMethod]
public static string save(string parameter, string name)
{
    PerformSave(name, parameter);
    return "Data Saved!";
}

提示

试试这个应用程序。提琴手。当您使用 ajax 调用等时,它非常有用。实际上是任何 Web 开发。:)

于 2012-09-14T09:53:08.930 回答