通过Ajax将JSON对象从php传递到JS
Passing JSON object from php to JS via Ajax
我试图将JSON对象从php脚本传递到Ajax Javascript文件。下面的代码适用于一个简单的字符串,但我现在试图修改它,使其与JSON对象中包含的多个字符串一起工作。我将每个文件的摘录粘贴在下面。我做错了什么?
这是从创建请求的html/javascript文件中提取的…
function retrieveAircraftInfo(str) {
var xmlhttp;
if (str.length==0) {
document.aircraftRegForm.aircraftManufacturer.value="";
return;
}
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) {
var aircraftDataJSON = xmlhttp.responseText.evalJSON();
document.aircraftRegForm.aircraftManufacturer.value = aircraftDataJSON.manufacuter;
document.aircraftRegForm.aircraftType.value = aircraftDataJSON.type;
document.aircraftRegForm.aircraftPopularName.value = aircraftDataJSON.popularName;
document.aircraftRegForm.aircraftGenericName.value = aircraftDataJSON.genericName;
}
}
xmlhttp.open("GET","scraper.php?q="+str,true);
xmlhttp.send();
}
这是从正在进行数据库搜索的php文件中提取的:
$aircraftDataArray = array("manufacturer" => $extractedManufacturer,
"type" => $extractedType,
"popularName" => $extractedPopularName,
"genericName" => $extractedGenericName);
echo json_encode($aircraftDataArray);
Try
var aircraftDataJSON = JSON.parse(xmlhttp.response);
否则,如果PHP返回一些错误,请检查开发人员工具的控制台中。
你的JS的例子为我工作与JSON.parse
相关文章:
- 为vis.js(PHP到JavaScript)准备一个数组
- 当用HTML5+JS+PHP设计发送到电子邮件的表单时,需要采取哪些良好的安全预防措施
- AJAX/JS/PHP:如何替换发送到PHP文件的文件中的文本,并传递成功属性
- jQuery/JS/PHP - 仅在提交后禁用表单和提交按钮
- 一个简单的JS-PHP验证(或者我是这么认为的)
- 使用相同文件的 Html/JS/PHP 两个页面看起来不同(仅在 chrome 中)
- AES - Crypto JS & PHP
- PHP 无法调用 shell 脚本 (js -> php -> sh)
- JS & PHP Interaction
- JS/PHP cross urlencoding and urldecoding
- 为什么这个 js-php 生成的位置引用在 IE8 中不起作用
- Js+PHP:从文本文件中读取值
- Ajax调用JS+PHP不起作用
- JS/PHP复选框名称
- 如何检查是否使用html/js/php等创建了cookie
- 如何在JS/PHP的Microtime中从服务器时间倒计时到最接近的半小时
- 在Nginx上运行PHP和Node.js(PHP的PHP扩展文件,Node的html扩展文件)
- Facebook JS/PHP SDK
- js/php with include files
- Angular.js+PHP:如果在ngSanitized html模板内,则不执行Angular表达式