我正在使用JQuery访问localhost的WWW文件夹中的某些数据和PHP文件。我正在向php文件发送id,我想要一些有关该id的详细信息。
当我在Intel XDK中使用此代码时。然后它显示完美的内部移动视图,但在浏览器中它不起作用。
任何类型的帮助都将受到赞赏。
的index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery PHP Json Response</title>
<style type="text/css">
div
{
text-align:center;
padding:10px;
}
#msg {
width: 500px;
margin: 0px auto;
}
.members {
width: 500px ;
background-color: beige;
}
</style>
</head>
<body>
<div id="msg">
<table id="userdata" border="1">
<thead>
<th>Id</th>
<th>Latitude</th>
<th>Longitude</th>
</thead>
<tbody></tbody>
</table>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var result = prompt("Enter a address");
$.post("http://localhost/getuser.php", { str : result }, function(json) {
alert(json);
$.each($.parseJSON(json), function(idx, obj) {
alert(obj.id);
var tblRow =
"<tr>"
+"<td>"+obj.id+"</td>"
+"<td>"+obj.lat+"</td>"
+"<td>"+obj.lng+"</td>"
+"</tr>" ;
$("#userdata tbody").append(tblRow);
});
});
});
</script>
</body>
</html>
并且,在WWW文件夹中getuser.php
<?php
$host="localhost"; //replace with your hostname
$username="root"; //replace with your username
$password="auroin"; //replace with your password
$db_name="map"; //replace with your database
// $str = $_REQUEST['str'];
$str = $_POST['str'];
//$str = 1;
$con=mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql = "select * from pet where id='".$str."'"; //replace emp_info with your table name
$result = mysql_query($sql);
$json = array();
while($row=mysql_fetch_object($result)){
$json[] = $row;
}
mysql_close($db_name);
//echo '{"members":'.json_encode($json).'}';
echo json_encode($json);
// please refer to our PHP JSON encode function tutorial for learning json_encode function in detail
?>
未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。必须在文档或传输协议中声明页面的字符编码。 index.html
阻止跨源请求:同源策略禁止在getuser.php读取远程资源。这可以通过将资源移动到同一域或启用CORS来解决。 getuser.php
答案 0 :(得分:0)
我建议您在浏览器中禁用同源策略,以便从本地文件测试跨域AJAX请求。
例如,使用Windows上的Google Chrome浏览器,您可以通过使用以下命令启动chrome来禁用此策略:
C:\ Users \ YOUR_USER \ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe --allow-file-access-from-files --disable-web-security
这两个标志一起允许您测试来自本地文件的跨域ajax请求。