通过Ajax将JSON对象从php传递到JS

Passing JSON object from php to JS via Ajax

本文关键字:JS php Ajax JSON 对象 通过      更新时间:2023-09-26

我试图将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