简单ajax跨域请求

Posted echoou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单ajax跨域请求相关的知识,希望对你有一定的参考价值。

 

最近遇到需要ajax跨域的需求

首先看下不做任何处理特别处理的ajax跨域请求会出现什么样的错误

客户端代码:

<script type="text/javascript">
    $.ajax({
        url: \'http://localhost/test/respone.php\',
        type: \'get\',
        dataType: \'json\',
        success:function (res) {
            console.log(res);
        }
    });
    
</script>

服务端代码:

<?php
echo json_encode([\'name\'=>\'ogq\',\'age\'=>18]);

?>

运行结果:

提示:Failed to load http://localhost/test/respone.php: No \'Access-Control-Allow-Origin\' header is present on the requested resource. Origin \'http://my.com\' is therefore not allowed access.错误

这是因为浏览器ajax不能跨域造成的,下面是我查找资料后简单做的一个ajax跨域请求与返回

客户端代码:

<script type="text/javascript">
    $.ajax({
        url: \'http://localhost/test/respone.php\',
        type: \'get\',
        dataType: \'jsonp\',
        success:function (res) {
            console.log(res);
        }
    });
    
</script>

  没错,只是将dataType:"json" 改成了“jsonp”,

然后是服务器端代码:

<?php

echo $_REQUEST[\'callback\'],\'(\'.json_encode([\'name\'=>\'ogq\',\'age\'=>18]),\')\';
?>

  在请求一次,输出结果

这样就能正常跨域了

ps:没有深究,能正常使用就可以了。嘻嘻

 

以上是关于简单ajax跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Ajax 简单的实现跨域请求

ajax跨域简单请求和复杂请求

跨域请求Ajax跨域请求JSONP

转载Ajax JS 跨域请求

AJAX的一个简单实例,跨域的解决,使用JQuery来进行ajax的调用

React中的ajax请求和跨域问题