繁体   English   中英

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代码

echo $_POST['query'];

IP地址正确且始终固定。 但是ajax总是说“发布失败”。 当我在服务器上放置html代码并仅设置url:'search2 / info.php'时,它就可以工作。 但是,当它是具有http:// ipaddress / search2 / phpname的远程服务器时,它将无法正常工作。 顺便说一下,我的php代码在apache上托管的var / www / html / search2中。 这是来自ajax的问题​​吗? 即使单击此完整的URL,它也会显示服务器页面! 但是ajax不能使用此直接URL到.php!

Ajax具有跨域保护,可以防止从非浏览域加载。

这是一项安全功能。 我建议您在这里阅读一下: jQuery AJAX跨域

关于这个问题还有很多其他问题。

我真的很高兴自己找到它! 我通过双击打开.html(这确实是错误的,我从未注意到),现在我知道可以在localhost或127.0.0.1上打开它了!它可以正常工作。 之前,警报显示它可以正常工作,但是服务器没有任何回应。而且它还打印了整个页面! 看到,标记之后我有很多评论,所以它回显了所有评论:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM