ajax 无法在远程服务器上运行
ajax doesn't work on 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.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>
和 php 代码在我的虚拟 Ubuntu 机器上
echo $_POST['query'];
IP 地址正确且始终固定。但是 ajax 总是说 'posting failed'。当我将 html 代码放在服务器上并设置 url :'search2/info.php'
有用。但是当它是带有 http:// ipaddress / search2 / phpname 的远程服务器时,它不起作用。顺便说一下,我的 php 代码位于 var/www/html/search2 托管在 apache 上。
这个问题来自 ajax 吗?即使我点击这个完整的 url 它也会显示服务器页面!但是 ajax 不能直接使用 url 到 .php !
Ajax 具有跨域保护,以防止从您浏览的域以外的域加载。
这是一项安全功能。
我建议你在这里阅读一下:
jQuery AJAX cross domain
关于这个主题还有很多其他问题。
真高兴自己找到了!!
我已经通过双击打开了 .html(这真的是错误的,我从来没有注意到)现在我明白了在本地主机或 127.0.0.1 上打开它!它工作正常。
之前,警报显示它有效,但服务器没有回答......
而且它还打印了整页!!看,标签后我有很多评论
所以它回应了所有评论:)
我的 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.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>
和 php 代码在我的虚拟 Ubuntu 机器上
echo $_POST['query'];
IP 地址正确且始终固定。但是 ajax 总是说 'posting failed'。当我将 html 代码放在服务器上并设置 url :'search2/info.php' 有用。但是当它是带有 http:// ipaddress / search2 / phpname 的远程服务器时,它不起作用。顺便说一下,我的 php 代码位于 var/www/html/search2 托管在 apache 上。 这个问题来自 ajax 吗?即使我点击这个完整的 url 它也会显示服务器页面!但是 ajax 不能直接使用 url 到 .php !
Ajax 具有跨域保护,以防止从您浏览的域以外的域加载。
这是一项安全功能。 我建议你在这里阅读一下: jQuery AJAX cross domain
关于这个主题还有很多其他问题。
真高兴自己找到了!! 我已经通过双击打开了 .html(这真的是错误的,我从来没有注意到)现在我明白了在本地主机或 127.0.0.1 上打开它!它工作正常。 之前,警报显示它有效,但服务器没有回答...... 而且它还打印了整页!!看,标签后我有很多评论 所以它回应了所有评论:)