jsonp - 移动端ajax请求问题?

查看:137
本文介绍了jsonp - 移动端ajax请求问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我有两个问题,一个是我写了一个ajax请求,我想请求我本地服务器上的php文件,直接写本地路径和服务器路径时候,都会报错,告诉我需要跨域,于是我用jsonp去请求数据,写入的是服务器上的地址,虽然可以进行请求了,可是请求后并没有弹success里的信息,总是弹error里的信息,但是还是可以接收到我想要的数据,所以我想问下为什么会这样?
第二个问题是以上的测试一开始都是在PC端chorme下的开发者根据的模拟移动设备下进行的,接着我在手机上打开我本地地址,发现手机上ajax并没有进行请求,尝试去alert,error里的alert都没有弹,请求大神解惑~~~
前端js代码如下:

// ajax跨域请求数据
        function loadPHP() {        
            var request = $.ajax({
                url: "http://localhost/demo.php",
                type: "get",
                dataType: "jsonp",
                success:function (data) {
                    console.log(data);
                },
                error: function () {
                    alert( "Request failed: " );
                }
            });
                alert(request);
        }
        function callback(res) {
                alert(res);
        }

php代码如下:


header('content-type: application/json');

$a = array('name'=>'tom');
echo 'callback('.json_encode($a).')';

解决方案

两个问题:
1.js里面不能写localhost,得把手机和电脑连在同一网络下,然后js中localhost改成电脑的ip
2.jsonp回调函数名没有指定,需要发送请求的时候也指定回调函数名,

其实我觉得开启CORS跨域比jonsp更方便

这篇关于jsonp - 移动端ajax请求问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆