如何将数组对象传递给XMLHttpRequest上的url参数? 我试图传递my_array,但对象未定义。但是如果我在匿名函数上放置了一个my.array的console.log,那么对象就会被正确填充
var xmlhttp = new XMLHttpRequest();
var url = "exampleUrl="+my_array+"&api_key="+api+"&format=json";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
my_array = JSON.parse(xmlhttp.responseText);
//console.log(my_array);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
答案 0 :(得分:2)
看看encodeURIComponent,但是你应该照顾events: {
"click .selection": "selectedBroker",
},
selectedBroker: function (e) {
var details = new BrokerDetailsCollection();
var brokerdetails = new App.Views.BrokerDetails({ model: null, collection: details });
details.setParam($(e.currentTarget).data("id"));
details.fetch();
brokerdetails.render();
},
,null
,函数,对象,日期等原生类型等等。因为你想使用另一端是JSON.parse,发送数据时应该使用JSON.stringify。
基本上undefined
。示例:encodeURIComponent(JSON.stringify(obj))
变为“%5B1%2C%22string%22%2Cnull%2C12.34%5D”
还有其他需要考虑的事项,例如GET请求的URL有一些长度限制。为什么不使用jQuery,在这种情况下,你在数据对象中发送你想要的所有内容,它会为你处理它?</ p>
您的代码也是错误的,除非服务器将[1,'string',null,12.34]
参数查询参数的内容作为响应返回。
答案 1 :(得分:0)
创建网址时,您可以使用 JSON.stringify()方法。
if( variant.canConvert<QList<MyType>>() ) {
QList<MyType> list = variant.value<QList<MyType>>();
...
}