当前位置: 首页 > 面试题库 >

将多个参数传递给jQuery ajax调用

钱青青
2023-03-14
问题内容

我有以下jQuery代码在aspx页面中调用webmethod

$.ajax({
    type: "POST",
    url: "popup.aspx/GetJewellerAssets",
    contentType: "application/json; charset=utf-8",
    data: '{"jewellerId":' + filter + '}',
    dataType: "json",
    success: AjaxSucceeded,
    error: AjaxFailed
});

这是网络方法签名

[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{

这很好。

但是现在我需要将两个参数传递给Web方法

新的网络方法如下所示

[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}

如何更改客户端代码以成功调用此新方法签名?

编辑:

以下2种语法有效

data: '{ "jewellerId":' + filter + ', "locale":"en" }',

data: JSON.stringify({ jewellerId: filter, locale: locale }),

其中filter和locale是局部变量


问题答案:

不要使用字符串串联来传递参数,只需使用数据哈希即可:

$.ajax({
    type: 'POST',
    url: 'popup.aspx/GetJewellerAssets',
    contentType: 'application/json; charset=utf-8',
    data: { jewellerId: filter, locale: 'en-US' },
    dataType: 'json',
    success: AjaxSucceeded,
    error: AjaxFailed
});

更新:

正如@Alex在注释部分所建议的那样,ASP.NET
PageMethod期望参数在请求中使用JSON编码,因此JSON.stringify应将其应用于数据哈希:

$.ajax({
    type: 'POST',
    url: 'popup.aspx/GetJewellerAssets',
    contentType: 'application/json; charset=utf-8',
    data: JSON.stringify({ jewellerId: filter, locale: 'en-US' }),
    dataType: 'json',
    success: AjaxSucceeded,
    error: AjaxFailed
});


 类似资料:
  • 问题内容: 在我的我有一个按钮。我想通过在方法中传递多个参数来为其添加动作。 问题答案: 也许你可以做这样的事情 根据您的要求创建标签值并保持其完整性。

  • 问题内容: 在采用可变数目从该给出的函数被调用iterables的。 如果我有一个生成元组的生成器,这些元组通常在原位打开,该如何命名? 以下代码不起作用,因为每个生成的元组均作为map的不同参数给出: 没有生成器,要映射的所需参数可能如下所示: 问题答案: 您需要删除的电话: 这将调用,时间,应在何处接受一个参数。 在Linux上 ,如果要接受两个参数,则可以使用lambda调用,例如:

  • 我试图找出是否有可能传递一个JSON对象RestAPI,或传递多个参数到该API?如何在Spring中读取这些参数?让我们假设url看起来像下面的例子: 例1<代码>http://localhost:8080/api/v1/mno/objectKey?id=1 传递下面url中的JSON对象是否有效? 例2<代码>http://localhost:8080/api/v1/mno/objectKey

  • 问题内容: 有没有办法将更多数据传递到jQuery中的回调函数中? 我有两个函数,例如,我希望回调到,以传递AJAX调用的结果数据以及一些自定义参数 我希望能够将自己的参数以及AJAX调用返回的结果传递给回调。 问题答案: 解决方案是通过闭包绑定变量。 作为一个更基本的示例,下面是一个示例函数,该函数接收并调用一个回调函数,以及一个示例回调函数: 这将调用回调并提供一个参数。现在,您想提供一个附加

  • 问题内容: 我正在尝试将一些参数传递给用作回调的函数,该怎么做? 问题答案: 如果您想要更一般的东西,可以使用arguments变量,如下所示: 但是否则,您的示例可以正常工作(可以在测试器中使用arguments [0]代替回调)

  • 问题内容: 我需要某种方法来使用pool.map()中的一个函数,该函数接受多个参数。根据我的理解,pool.map()的目标函数只能有一个可迭代的参数,但是有没有办法我也可以传入其他参数呢?在这种情况下,我需要传递一些配置变量,例如Lock()并将信息记录到目标函数中。 我试图做一些研究,我认为我也许可以使用部分函数来使其工作?但是,我不完全了解这些工作原理。任何帮助将不胜感激!这是我要执行的简