gpt4 book ai didi

javascript - 将未知变量传递给 Load()

转载 作者:行者123 更新时间:2023-11-30 05:45:07 39 4
gpt4 key购买 nike

我有多个(100 多个)Javascript 文件,它们使用具有标准功能的通用 js 文件,基本上将 aspx 文件的响应加载到页面上的 DIV 中。然而(这可能非常明显),JQuery load(URL, data, callback) 函数的数据部分有一些设置变量,但我也希望能够处理传递给功能。

函数如下(由于表单域较多,删减了一些)

function global_submitform(DIV_ID,ADDITIONAL_FIELDS)
{
$("#"+DIV_ID).load("functions.aspx?process=processform",
{
USERID, $("#userid").val(),
NAME, $("#name").val(),
PHONE, $("#phone").val()
},
function(response,status,xhr){if (status=="error"){$(#"+DIV_ID).html(xhr.status+" "+ xhr.statusText);}});

这对于调用它的 js 文件工作正常,但我不确定如何添加处理 ADDITIONAL_FIELDS passthough。它会在 $("#phone").val() 之后添加,但如果我尝试类似 eval(ADDITIONAL_FIELDS) 的操作,我会收到错误消息,因为脚本不再有效.我可能只是将额外的未知变量附加到 url 部分,但有些值可能非常大。

这可能吗,还是我需要考虑另一种方法?

最佳答案

您没有显示您为 ADDITIONAL_FIELDS 传递的内容,但我猜它是一个散列。

我还将把 data 参数变成一个正常写入的散列。

假设您正在调用:

global_submitform('thediv', { "foo": 1, "bar": 2 } );

您想将这些与您的“永久”值结合起来:

function global_submitform(DIV_ID,ADDITIONAL_FIELDS)
{
var fields = ADDITIONAL_FIELDS || {}; // maybe nothing was passed
$.extend(fields,
{
USERID: $("#userid").val(),
NAME: $("#name").val(),
PHONE: $("#phone").val()
}
);

// in our example, "fields" now contains the foo, bar, USERID,
// NAME and PHONE members

$("#"+DIV_ID).load("functions.aspx?process=processform",
fields,
function(response,status,xhr){if (status=="error"){$(#"+DIV_ID).html(xhr.status+" "+ xhr.statusText);}});
}

请注意,您也可以只调用:

global_submitform('thediv');

如果你没有额外的参数。

关于javascript - 将未知变量传递给 Load(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18387561/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com