gpt4 book ai didi

javascript - Tiny Box POST 表单序列化为数组会导致错误

转载 作者:行者123 更新时间:2023-11-28 01:27:32 24 4
gpt4 key购买 nike

当我使用以下代码时,它按预期工作:

TINY.box.show({url:target, post:$("form[name='currentSearch']").serialize(), 
width:650, mask:true, close:true, maskid:'boxMask', boxid:'popupBox',
openjs:function(){initialiseDataTable()}});

当我使用数组 $("form[name='currentSearch']").serialize() 时,如下所示:

var postData = $("form[name='currentSearch']").serializeArray();

postData.push({flag : '1'});

TINY.box.show({url:target, post:postData, width:650, mask:true, close:true, maskid:'boxMask',
boxid:'popupBox', openjs:function(){initialiseDataTable()}});

我收到错误:

NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED: 'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available]
[Break On This Error]

...',c,true); x.setRequestHeader('Content-type','application/x-www-form-urlencoded'...

我更喜欢使用“数组”,因为它比向表单添加动态输入更简单、更优雅。但是我不是 JavaScript 语言,因此有人可以告诉我为什么会出现这个问题以及是否有可能发布数组?

这是我认为发生错误的tinybox代码:

var x=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');

x.onreadystatechange=function(){
if(x.readyState==4&&x.status==200){p.style.backgroundImage=''; TINY.box.psh(x.responseText,a,w,h)}
};

if(k){
x.open('POST',c,true); x.setRequestHeader('Content-type','application/x-www-form-urlencoded'); x.send(k)
}else{
x.open('GET',c,true); x.send(null)
}

最佳答案

TinyBox 似乎不使用 jQuery,因此您需要序列化数组,然后才能将其与请求一起使用。 jQuery param在这种情况下很方便。这就是当数组被传递到 $.ajax

时 jQuery 内部所做的事情
var formData = $("form[name='currentSearch']").serializeArray();
formData.push({name : 'flag', value : '1'});
var postData = $.param(formData); // serialize it

TINY.box.show({url:target, post:postData, width:650, mask:true, close:true, maskid:'boxMask',
boxid:'popupBox', openjs:function(){initialiseDataTable()}});

关于javascript - Tiny Box POST 表单序列化为数组会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22509677/

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