如何打印 xmlhttp 响应
How to print xmlhttp response?
我正在从数据库中获取一些信息,这些信息正在恢复为JSON格式,现在我需要打印此JSON信息。但是我的代码不起作用 getCountryDetails.php 是用于与数据库交互的 php 文件。以下代码是脚本,当我单击按钮时,它与数据库相交。
<script type="text/javascript">
$(document).ready(function() {
$("#quickSearch").click(function(){
var countries = [];
$.each($("#select-choice-1 option:selected"), function(){
countries.push($(this).val());
});
if (countries == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//myFunction(xmlhttp.responseText);
myFunction(xmlhttp.responseText);
}
}
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
xmlhttp.open("GET","webservices/getCountryDetails.php?q="+countries,true);
xmlhttp.send();
}
});
});
function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table>";
for(i = 0; i < arr.length; i++) {
out += "<tr><td>" +
arr[i].Name +
"</td><td>" +
arr[i].City +
"</td><td>" +
arr[i].Country +
"</td></tr>";
}
out += "</table>"
document.getElementById("id01").innerHTML = out;
}
</script>
首先,countries
永远不会是一个空字符串,你已经把它定义为一个数组
var countries = [];
...
if (countries == "") { // always fail
其次,你不能将数组合并成一个字符串,XMLHttpRequest 不接受数组。
xmlhttp.open("GET","webservices/getCountryDetails.php?q=" + countries, true);
第三,你似乎正在使用jQuery,所以为什么不使用它,因为它确实接受一个数组。
$.ajax({
url : 'webservices/getCountryDetails.php',
data : countries
}).done(myFunction);
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- xmlhttp.responseText不显示文本
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- html5多个xmlhttp请求更多响应
- 如何打印 xmlhttp 响应
- XMLHttp请求无法加载 对预检请求的响应未通过访问控制检查
- 空XmlHttp响应文本(仅限Google Chrome)
- 处理XMLHTTP请求文本响应时出错
- 服务器没有使用get方法响应xmlHTTP请求
- 在IE11中设置xmlHttp响应类型为msxml-document会抛出无效状态错误
- AJAX响应- XmlHttp.responseXML被切断