Javascript Ajax代码在移动设备上不起作用

Javascript Ajax代码在移动设备上不起作用,javascript,jquery,ajax,api,mobile,Javascript,Jquery,Ajax,Api,Mobile,这段代码在桌面浏览器和移动应用程序上都能很好地工作 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.le

这段代码在桌面浏览器和移动应用程序上都能很好地工作

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>");
}

此代码适用于普通桌面浏览器,但不适用于我的移动浏览器,如何解决此问题???

失败的代码可能是:

headers: new Headers({ "Content-Type": "application/json" })});
您可能正在iPhone/iOS/Webkit上测试,它没有
构造函数


您可以阅读更多信息

Headers API仅在某些浏览器中可用

看看这张桌子

请尝试以下方法:
contentType:“应用程序/json”,


您不需要定义任何头,jQueryAjax的默认设置是无论如何处理json

这里是一个非常基本的
POST
请求,使用jQuery ajax发送一个简单的对象,您不需要定义
标题
数据类型
内容类型

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); } }); 让自定义对象={ 姓名:“艾哈迈德”, 年龄:22 } $.ajax({ 键入:“POST”, url:“你的url”, 数据:自定义对象, 成功:函数(){ cosnole.log('Done:',e) }, 错误:函数(e){ console.log('ERROR!',e); } }); 默认值为:

  • 标题
    {}
  • 数据类型
    智能猜测(xml、json、脚本或html)
  • contentType
    application/x-www-form-urlencoded;字符集=UTF-8

来源:

你有url吗?看看这个网站,也许它会帮助你解决你的电话问题?您需要在服务器页面上具有COORS访问权限,因为该应用程序不在您的域中。@PHPglue,不是这个问题,因为它在桌面浏览器上正常工作。您是否尝试了BrowserStack或iPhone调试器?我在普通Safari浏览器上进行了测试,以下是检查它的URL跳过广告,抱歉:在提交表单时,我收到了404(). 问题出在服务器上,而不是客户端。我可能错了。我认为苹果保护他们的用户不受任何HTTP请求的影响,这样就无法创建XMLHttpRequest对象,而且现在也无法在safari上实现这一点——参考:
$.ajax({
    url: '/postprof',
    type:'POST',
    data: profile,
    dataType: 'json',
    contentType: "application/json",
 });
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); } });