Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用json读取html中的php数据_Javascript_Php_Html_Json - Fatal编程技术网

Javascript 如何使用json读取html中的php数据

Javascript 如何使用json读取html中的php数据,javascript,php,html,json,Javascript,Php,Html,Json,我正在做一个项目,在这个项目中,我想使用JSON读取HTML中的PHP数据 以下是我的JavaScript代码: var xmlhttp; var jsonResponse = ""; window.onload = function() { alert('window.onload fired!'); xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "../getproduct.php",true); alert('Co

我正在做一个项目,在这个项目中,我想使用JSON读取HTML中的PHP数据

以下是我的JavaScript代码:

var xmlhttp;
var jsonResponse = "";

window.onload = function() {
  alert('window.onload fired!');
  xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET", "../getproduct.php",true);
  alert('Constructed XMLHTTP request!');
  xmlhttp.send();
  xmlhttp.onreadystatechange = dataReturn;
  document.getElementById('getBtn').addEventListener('click', getData, true);
}

function dataReturn() {
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
     jsonResponse = xmlhttp.responseText;
     //jsonResponse = eval('(' + jsonResponse + ')');
     alert(jsonResponse);
  }
}

var div = document.getElementById('result');

function getData() {
  alert('getData()');
  // Parsing the txt JSON string
  obj = jsonResponse;
  document.getElementById('result').innerHTML = obj;
  txt1 = JSON.parse(obj);
  alert(txt1);
  employees = txt.products;

  // Looping through object employees
  for (i = 0; i < employees.length; i++) {
    var p = document.createElement('p');
    p.innerHTML = '<b>First name:</b>' + employees[i].menuid + ', <b>Last name: </b>' + employees[i].name;
    div.appendChild(p);
  }

  // Generate a new JSON string based on current JS object.
  jsonString = JSON.stringify(obj);
  alert(jsonString);
}

我无法用JavaScript读取此JSON数据。

您有一个来自PHP页面的JSON响应,而不是用JSON读取PHP。PHP给出一个响应,JSON是该响应的格式。类似地,您现在希望在HTML页面中显示数据,而不能仅在HTML中读取数据。如果您记录JSON响应,您将看到它是一个字符串,可以解析为包含产品数组的javascript对象,每个产品都有menuid、name、description和location

作为一个json转换为javascript对象的示例,这将读取返回的所有产品:

var json = '{"products":[{"menuid":"9","name":"Cable Managementdsdsd","description":"fgfgfg","location":"CableTray.jpg"}]}';

var jsobject= JSON.parse(json);

console.log(json);
console.log(jsobject);

for(var i = 0; i < jsobject.products.length; i++){
    console.log(jsobject.products[i].menuid);
    console.log(jsobject.products[i].name);
    console.log(jsobject.products[i].description);
    console.log(jsobject.products[i].location);
}
var json='{“products”:[{“menuid”:“9”,“name”:“Cable managementdsd”,“description”:“fgfgfg”,“location”:“CableTray.jpg”}]};
var jsobject=JSON.parse(JSON);
log(json);
log(jsobject);
对于(var i=0;i

您只需将console.log行替换为要写入html页面而不是控制台的代码即可

这是一个将打印到div中的更新版本(您需要整理格式和内容)

我不确定您在这里问的问题是否正确,您是否在阅读使用JSON的PHP?从外观上看,您有一个来自PHP页面的JSON响应,但您没有阅读PHP,也不想阅读PHP客户端,因为它是一种服务器端语言。你到底想做什么?另外,如果你能格式化你的代码,它会更容易阅读。我已经阅读了JSON中的PHP数据。它存储在一个对象jsonResponse中现在我想用HTML读取该对象你的确切意思是用HTML读取该对象吗?查看它的输出,它来自PHP文件
{“products”:[{“menuid”:“9”,“name”:“Cable managementdsd”,“description”:“fgfg”,“location”:“CableTray.jpg”}
现在我想让它显示在DIV中。我添加了一个更新的JSFIDLE,它将打印到html中
var json = '{"products":[{"menuid":"9","name":"Cable Managementdsdsd","description":"fgfgfg","location":"CableTray.jpg"}]}';

var jsobject= JSON.parse(json);

console.log(json);
console.log(jsobject);

for(var i = 0; i < jsobject.products.length; i++){
    console.log(jsobject.products[i].menuid);
    console.log(jsobject.products[i].name);
    console.log(jsobject.products[i].description);
    console.log(jsobject.products[i].location);
}