Ste*_*ven 13 javascript php ajax jquery
我在index.html的.js文件中有以下函数
function getValues(){
$.ajax({
type: 'POST',
url: "http://localhost/getData/getdata.php",
success: function(data){
var dataValues;
var apnd;
dataValues = String(data.NSE);
apnd = "a";
updateValues(dataValues, apnd);
dataValues = String(data.BSE);
apnd = "b";
updateValues(dataValues, apnd);
},
dataType: "json"
});
}
Run Code Online (Sandbox Code Playgroud)
当我在像wamp这样的网络服务器中运行它时,这很好用.但是我想在本地运行index.html,即没有网络服务器,用户只需双击index.html即可运行,但事实并非如此.数据始终为空.可能是什么问题呢?对不起,我是一个超级JQuery Noob.
getdata.php文件中的代码是
<?
echo json_encode(array("NSE"=>rand(5000, 20000),"BSE"=>rand(5000, 20000)));
?>
Run Code Online (Sandbox Code Playgroud)
Bob*_*mer 17
当您从文件中运行index.html时,AJAX可以正常运行.但问题出现的原因是您正在查看地址为"file://....../index.html"的文件,而您正在向" http://localhost/..../something "发出AJAX请求. php "因为跨站点脚本而不允许这样做.所有AJAX请求必须转到同一个域/服务器.
这是假设您通过双击它并仍然向Web服务器发出AJAX请求来查看文件.
Web服务器正是为您处理所有细节的原因.
如果没有Web服务器发帖,您就无法发帖.HTTP = Web协议,因此您无法在没有Web服务器的情况下使用HTTP URL.
Web服务器也是处理您对PHP页面的请求并运行PHP解释器,管理输入和输出的过程.
为什么要在本地运行它?
你不能这样做,你也应该从网络服务器地址(例如http://localhost/yoursite/file.html
,甚至远程服务器网址)打开你的 html 文件。您需要通过服务器/服务器 url。