Javascript 获取json无“访问控制允许来源”错误-电话间隔
在尝试检索和显示phonegap应用程序中的信息时,我不断遇到此错误 这是我得到的错误: 获取send@jquery-2.2.0.js:9172jQuery.extend.ajax@jquery-2.2.0.js:8653jQuery.anonymous function@jquery-2.2.0.js:8804jQuery.extend.getJSON@jquery-2.2.0.js:8785匿名function@bookmarks.html:44 bookmarks.html:1无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。响应的HTTP状态代码为404 代码如下:Javascript 获取json无“访问控制允许来源”错误-电话间隔,javascript,php,jquery,json,cordova,Javascript,Php,Jquery,Json,Cordova,在尝试检索和显示phonegap应用程序中的信息时,我不断遇到此错误 这是我得到的错误: 获取send@jquery-2.2.0.js:9172jQuery.extend.ajax@jquery-2.2.0.js:8653jQuery.anonymous function@jquery-2.2.0.js:8804jQuery.extend.getJSON@jquery-2.2.0.js:8785匿名function@bookmarks.html:44 bookmarks.html:1无法加载XM
<script>
//populates product container
$(" #productContainer").html('');
$.getJSON("http://192.168.0.4:3000/Application/www/retrieveSymbol.php", function(data){ //retrieves json array
$.each(data, function(i, field){ //loops through array
$("#productContainer").append( //creates product box filling it with data
"<div id='productBox'>" + "<div id='name'>" + field[1] + " </div>" + "<br>" +
"<div id='image'>" + "<img id='image' src='Images/" + field[5] + "'/>" + "</div>" +
"<div id='description'>" + "<b>Description:</b> " + "<br>" + field[2] + " </div>" + "" +
"<div id='price'>" + "£" + field[3] + " </div>" + "<br><br>" + "<br>" +
//gets name and price and sends data to basket when button is clicked
"<form action='Basket.php' method='post' id='add'>" +
"<input type='hidden' name='itemName' value=" + field[1] + "/>" +
"<input type='hidden' name='itemPrice' value=" + field[3] + ">" +
"<input id='addButton'type='submit' value='Add to Cart'>" +
"</form>" + "</div>"
);
});
});
</script>
receivesymbol.php
<?php
//connect to the database
$mysqli = NEW MySQLi ('localhost','root','','contentdatabase');
//query database
$resultSet = $mysqli->query("SELECT * FROM items");
//count the rows
if($resultSet->num_rows != 0) {
//turn the results into an array
$rows = $resultSet->fetch_all();
echo json_encode($rows);
}else{
echo "{no connection}";
}
?>
有人能指出发生这种情况的原因吗?这是大多数PhoneGap项目中常见的典型跨源错误。请查看此答案以了解更多详细信息和解决方案
使用此chrome扩展,您可以从任何来源请求任何带有ajax的站点接收Symbol.php添加Access Control Allow Origin标头-这似乎就是它抱怨的服务器脚本中的可启用CORS。请参阅是否在设备或模拟器中进行测试?另外,请在chrome windows中尝试此操作-