栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PhoneGap Ajax调用每次都会失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PhoneGap Ajax调用每次都会失败

问题在于您的phonegap应用程序正在从非网络服务器请求本地文件。本地文件交付时没有HTTP头-这意味着没有“ 200 OK”头,也没有“ 404 Not
Found”错误。因此,假定状态码为0。

直接的javascript XHR将需要忽略状态并在readystate == 4(完成并准备就绪)上执行操作。像这样:

    var myrequest = new XMLHttpRequest();    myrequest.open('GET','localfile.html');    myrequest.onreadystatechange = function(){        if(myrequest.readyState == 4) { var result = myrequest.responseText;        }    }    myrequest.send();

在MooTools中,在Request类中实现更改后的状态测试是一项相对简单的任务-将返回码测试更改为也接受0表示为true。像这样:

Request.implement({    isSuccess: function(){        var status = this.status;        return ((status >= 200 && status < 300) || status === 0);    }});

jQuery ....关于jQuery,我想谈一谈-但我会坚持,因为这似乎是一个优雅的地方。

要为状态== 0准备jQuery,您需要使用always事件而不是success事件,您可以在那里测试状态代码。

$.ajax({   url: '/echo/html/',   type: 'PUT',   data: "email=a@b.com" }).always(function(data, textStatus, jqXHR){   switch(textStatus) {     case 200:         case 0:         alert('Success.');  break;         case 404:  alert('oops');  break;   } });

Cordova / Phonegap中的Ajax-是的!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号