首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jQuery AJAX中调用10秒后的API超时

在jQuery AJAX中调用10秒后的API超时
EN

Stack Overflow用户
提问于 2013-08-02 05:00:25
回答 1查看 5.3K关注 0票数 2

我在jQuery、mobile和PhoneGap工作。目前面临着一个仍然存在的大问题。我搜索并应用了很多方法,但仍然存在问题。我的问题是当我在10秒后调用API的超时时。所以在iPhone版本中没有得到结果。但是它在Android中的返回结果(就android而言,它也显示超时,但我得到了它的结果)。

我在jQuery Ajax调用中尝试了超时方法。但是:-(

,这是我的代码;

代码语言:javascript
运行
复制
function proceed_payment(){
var cardholder_= $('#input_Cardholder_name_').val();
var card_num_ = $('#input_CreditCard_').val();
var payment_ =$('#card_type_').val();
var cvv2_=$('#input_cvv2_').val();
var url;

if(showmond_value==0)
{
    url='https://www.sample.com/json/save_pament.php?json=1& reserv_num='+reservation_number+'&callback='+reservation_carcompany+'&cardholder='+cardholder_+'&payment='+payment_+'&card_num='+card_num_+'&card_cvv2='+cvv2_+'&card_expire_mon='+expire_month+'&card_expire_year='+expire_year+'&org_deposit='+sCarDeposit+'&org_cur='+currency+'&mond='+company_Show_mond+''
}

$.ajax({  
  url:url,
  data:'',
  contentType: "application/json; charset=utf-8",
  type: "POST",
  dataType: "json",
  timeout: 15000,
  crossDomain:true,
  cache: false,
  async:false,

  success:function(data)
  { 
     alert(data.Status);
  }
}); 

};

超时屏幕快照(在Eclipse中签入)..

EN

回答 1

Stack Overflow用户

发布于 2013-08-02 06:06:53

尝试将ExternalHosts项目的PhoneGap.plist文件的PhoneGap.plist属性设置为*,以便将请求白名单到外部域。

您还可以尝试将以下代码添加到JS文件中,以确保在jQuery框架中执行webView时为其启用跨域请求。

代码语言:javascript
运行
复制
$( document ).on( "mobileinit", function() {
    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;
});

另外,至少在早期版本的jQuery中,jsonp超时错误被忽略存在问题(我认为在$.ajax调用中设置crossDomain:true会导致jQuery mobile中的jsonp回退)。因此,您可以尝试使用以下插件:jQuery

jQuery是jQuery实现JSONP的一种紧凑(1.8kB小型化)的替代解决方案。 ..。 jQuery特性:

  • 超时机制。

,这将使您的调用类似于以下内容(注意$.jsonp函数的使用而不是$.ajax )

代码语言:javascript
运行
复制
$.jsonp({
    "url": url,
    "data": "",
    "datatype": "json"
    "timeout": 15000,
    "success": function(data) {
        alert(data.Status);
    },
    "error": function(d,msg) {
        alert("Could not find user "+userId);
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18009083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档