起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2329|回复: 6

[处理中3] ajax 为何在一些机型下出错

[复制链接]

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
发表于 2017-1-22 08:46:07 | 显示全部楼层 |阅读模式
本帖最后由 高飞 于 2017-1-22 11:37 编辑

现在测试在苹果5S及电脑端没有问题,苹果6及meizu mx4下都有问题,错误信息:networkerror:failed to execute 'send' on 'xmlhttprequest':failed to load ''
代码如下:
                                                    var url = "http://api.hanvon.com/rt/ws/v1/ocr/bcard/recg?key="+key+"&code=cf22e3bb-d41c-47e0-aa44-a92984f5829d";
                                                    $.support.cors = true;
                                                        $.ajax({  
                                                               type : "POST",
                                                               contentType : "application/octet-stream",
                                                               datatype : "json",
                                                               crossDomain: false,
                                                               jsonp:'callback',
                                                               url : url,
                                                               timeout:180000,
                                                               data : "{\"uid\":\"junit-test\",\"lang\":\"auto\",\"color\":\"original\",\"image\":\""+imageStr+"\"}",
                                                               async : false,
                                                               cache : false,
                                                               error:function(xhr, ajaxOptions, thrownError)
    {
        alert("There was an error in the ajax call: ["+xhr.status+"] ["+thrownError+"]");
        seft.comp("WaitPopOver").hide();
    },
                                                               success : function(data){
                                                                        seft.comp('windowDialog3').open({
                                                                                                        data : {
                                                "IsNew" : false,
                                                "IsCard":true,
                                                "ClientObj" :data
                                        }
                                });
                        seft.comp("WaitPopOver").hide();
                                                               }
                                                    });
问题找到,下面是抓取包数据的结果:
POST http://api.hanvon.com/rt/ws/v1/o ... 0-aa44-a92984f5829d HTTP/1.1Host: api.hanvon.com
Connection: keep-alive
Content-Length: 161
Accept: */*
Origin: http://api.hanvon.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 5.1; MX4 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.124 Mobile Safari/537.36 x5app/1.1.38
Content-Type: application/octet-stream
Referer: http://api.hanvon.com/v-MzYr2m-zh_CN-/OA/main/index.w
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8

{"uid":"qeebaneAPP","lang":"auto","color":"original","image":"/9j/4RpvRXhpZgAATU0AKgAAAAgAEAEAAAMAAAABDMAAAAEBAAMAAAABBzAAAAECAA(这里参数给载取了)

*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***

post是不限制传的参数的长度,但为什么这里会截取我的传的参数,搞不明白,有人碰到的吗?如何处理指教下。



发表于 2017-1-22 11:37:12 | 显示全部楼层
应该是跨域问题引起的!
http://docs.wex5.com/ajax-cross-domain/

首先你试试!在浏览器中直接访问这个url  是否正常访问到??
如果能,那就是跨域问题
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2017-1-22 11:39:53 | 显示全部楼层
liangyongfei 发表于 2017-1-22 11:37
应该是跨域问题引起的!
http://docs.wex5.com/ajax-cross-domain/

不是跨域问题,因为5s我们测试是可以的。因为服务器上基本也没有接收到申请,所以肯定是发送的问题。
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2017-1-22 11:40:23 | 显示全部楼层

问题找到,下面是抓取包数据的结果:
POST http://api.hanvon.com/rt/ws/v1/o ... 0-aa44-a92984f5829d HTTP/1.1Host: api.hanvon.com
Connection: keep-alive
Content-Length: 161
Accept: */*
Origin: http://api.hanvon.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 5.1; MX4 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.124 Mobile Safari/537.36 x5app/1.1.38
Content-Type: application/octet-stream
Referer: http://api.hanvon.com/v-MzYr2m-zh_CN-/OA/main/index.w
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8

{"uid":"qeebaneAPP","lang":"auto","color":"original","image":"/9j/4RpvRXhpZgAATU0AKgAAAAgAEAEAAAMAAAABDMAAAAEBAAMAAAABBzAAAAECAA(这里参数给载取了)

*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2017-1-22 12:07:10 | 显示全部楼层
高飞 发表于 2017-1-22 11:40
问题找到,下面是抓取包数据的结果:
POST http://api.hanvon.com/rt/ws/v1/o ... 0-aa44-a92984f5829d HT ...

参数截取了,POST请求按理说不应该截取的。。
请问你当前页面所在域名是否是api.hanvon.com 和??跨域的情况下就有可能出现这样的问题!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2017-1-22 12:13:21 | 显示全部楼层
本帖最后由 高飞 于 2017-1-22 12:23 编辑
liangyongfei 发表于 2017-1-22 12:07
参数截取了,POST请求按理说不应该截取的。。
请问你当前页面所在域名是否是api.hanvon.com 和??跨域的 ...

打包的时候已经把服务器地址设置为api.hanvon.com,还是一样的问题。
QQ截图20170122122252.jpg
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2017-1-22 13:22:40 | 显示全部楼层
高飞 发表于 2017-1-22 12:13
打包的时候已经把服务器地址设置为api.hanvon.com,还是一样的问题。

先试试,资源部署后,使用同一个手机的 系统自带浏览器,访问这个功能是否正常吧!
如果浏览器能正常!app原理上应该一样才对!
如果浏览器也不正常,那就需要查下!这中型号手机有何区别》??
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-25 05:45 , Processed in 0.073159 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表