Javascript ajax没有';无法在远程服务器上工作
我在windows8上有这部分ajax代码Javascript ajax没有';无法在远程服务器上工作,javascript,ajax,remote-server,Javascript,Ajax,Remote Server,我在windows8上有这部分ajax代码 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script> <script> $(document).ready(function(){ $('#next_Button').click(function(){ var text = document.getElementBy
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
<script>
$(document).ready(function(){
$('#next_Button').click(function(){
var text = document.getElementById("textbox");
var query = text.value;
$('#response').html("<b>Loading response...</b>");
$.ajax({
type: 'POST',
url: 'http://192.168.92.131/search2/info.php',
data: { query : query }
})
.done(function(data){
$('#response').html(data);
alert("sent query");
})
.fail(function() {
alert( "Posting failed." );
});
return false;
});
});
</script>
IP地址是正确的,并且总是固定的。但是ajax总是说“发布失败”。当我把html代码放在服务器上,只需设置url:'search2/info.php'
它起作用了。但是当它是带有http://ipaddress/search2/phpname的远程服务器时,它就不工作了。顺便说一下,我的php代码位于apache上托管的var/www/html/search2中。
这个问题是来自ajax吗?即使我点击这个完整的url,它也会显示服务器页面!但是ajax不能使用这个指向.php的直接url Ajax具有跨域保护,以防止从您浏览到的域以外的域加载 这是一个安全特性。 我建议你在这里读一读:
关于这个问题还有很多其他的问题。我真的很高兴自己能找到它!! 我通过双击打开了.html(这确实是错误的,我从来没有注意到),现在我明白了在localhost或127.0.0.1上打开它!它工作正常。 之前,警报显示它可以工作,但服务器没有应答。。。 而且它还打印了整页!!看,我在标签后面有很多评论
所以它回应了所有的评论:)其他域正在阻止ajax。谢谢你的提示!
echo $_POST['query'];