将数组参数传递给XMLHttpRequest对象

时间:2016-04-14 13:26:26

标签: javascript jquery ajax object xmlhttprequest

如何将数组对象传递给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();

2 个答案:

答案 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>>();
     ...
 }