将数组参数传递给XMLHttpRequest对象
Pass array parameter to XMLHttpRequest object
如何在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();
看一看encodeURIComponent,但你应该注意null
、undefined
、函数、对象、日期等原生类型。由于你想在另一端使用JSON.parse,所以在发送数据时应该使用JSON.stringify。
基本上是encodeURIComponent(JSON.stringify(obj))
。示例:[1,'string',null,12.34]
变为"%5B1%2C%22string%22%2Cnull%2C12.34%5D"
还有其他事情需要考虑,例如GET请求的URL有一些长度限制。为什么不使用jQuery呢?在这种情况下,你可以在数据对象中发送你想要的一切,它会帮你处理它?
除非服务器将exampleUrl
参数查询参数的内容作为响应返回,否则您的代码也是错误的。
创建url时,可以使用JSON.stringfy()方法。
var url = "exampleUrl?"+JSON.stringify(my_array)+"&api_key="+api+"&format=json";
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作