2017-04-22 79 views
0

不起作用此代码工作完全在桌面浏览器,工程还对移动应用的Ajax代码在移动设备

function submitSN() 
{ 
    var data = []; 

    var eles1 = document.getElementsByClassName('chip'); 

    for (var i = 0 ; i < eles1.length ; i++) 
    { 
     data.push(eles1[i].innerText.substring(0,eles1[i].innerText.length-5)); 
    } 

    profile.skills = data; 
    profile.uid = uid; 

     $.ajax({ 
     url: '/postprof', 
     type:'POST', 
     data: profile, 
     dataType: 'json', 
     headers: new Headers({ "Content-Type": "application/json" })}); 
     $("body").html("<h1 style='text-align:center;padding:4%;'>Done, Return to your messenger now!</h1>"); 
} 

,但它不会发送阿贾克斯在移动浏览器调用,我指这段代码正确

$.ajax({ 
    url: '/postprof', 
    type:'POST', 
    data: profile, 
    dataType: 'json', 
    headers: new Headers({ "Content-Type": "application/json" })}); 

此代码适用于正常的桌面浏览器,但不适用于我的手机浏览器,如何解决此问题?

+0

你有没有网址? –

+0

看看这个网站,也许它会帮助你解决你的问题https://www.tutorialspoint.com/ajax/ajax_browser_support.htm –

+0

Phone Gap?您需要在您的服务器页面上有COORS Access,因为该应用程序不在您的域中。 – PHPglue

回答

1

你不需要定义任何头,jQuery的AJAX的默认设置是处理JSON反正。

这里是一个非常基本的要求POST使用jQuery AJAX是发送一个简单的对象,你不需要定义headersdataTypecontentType

 
let custom_object = { 
    name: 'Ahmed', 
    age: 22 
} 

$.ajax({ 
    type: 'POST', 
    url: 'YOUR_URL', 
    data: custom_object, 
    success: function(){ 
     cosnole.log('Done: ', e) 
    }, 
    error: function(e){ 
     console.log('ERROR! ', e); 
    } 
}); 

有默认值的是:

  • headers{}
  • dataTypeIntelligent Guess (xml, json, script, or html)
  • contentTypeapplication/x-www-form-urlencoded; charset=UTF-8

源:http://api.jquery.com/jquery.ajax/

+1

它运作良好,我接受这个答案 –

0

失败线大概是这样的:

headers: new Headers({ "Content-Type": "application/json" })}); 

你可能会在其上不具有Headers构造一个iPhone/iOS设备/测试的Webkit。

你可以阅读更多关于它here

+0

是的它是正确的100%,我测试从Iphone IOS –

0

页眉API仅适用于特定的浏览器。

看看在browser compatibility

试试这个: contentType: "application/json",

$.ajax({ 
    url: '/postprof', 
    type:'POST', 
    data: profile, 
    dataType: 'json', 
    contentType: "application/json", 
}); 
+0

不幸的是没有工作太 –

+0

你试过BrowserStack或iPhone调试器? –

+0

我在正常的Safari浏览器上测试,这里的网址来检查它 http://urlgone.com/3bad68/ –