Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Cors仅适用于移动浏览器_Jquery_Ajax_Laravel_Google Chrome_Cors - Fatal编程技术网

Jquery Cors仅适用于移动浏览器

Jquery Cors仅适用于移动浏览器,jquery,ajax,laravel,google-chrome,cors,Jquery,Ajax,Laravel,Google Chrome,Cors,我已经将CORS头添加到服务器上的响应对象中,所有桌面浏览器都允许ajax调用完美地返回。然而,我没有看到任何移动浏览器上的数据,结果证明这是一个CORS错误 你知道为什么会这样吗 客户端代码: getCharacter(completionFunc){ $.ajax("http://somewhere.com/api/character/0", { //dataType: 'jsonp', success: function(da

我已经将CORS头添加到服务器上的响应对象中,所有桌面浏览器都允许ajax调用完美地返回。然而,我没有看到任何移动浏览器上的数据,结果证明这是一个CORS错误

你知道为什么会这样吗

客户端代码:

getCharacter(completionFunc){
        $.ajax("http://somewhere.com/api/character/0", {
            //dataType: 'jsonp',
            success: function(data) {
                completionFunc(data);
            }
        });
    }
服务器头代码(laravel):


在将标题添加到服务器之前,我在桌面浏览器上遇到了一个cors错误(正如预期的那样)。添加它们修复了这个问题,但在手机上没有。在处理CORS时,chrome mobile和桌面之间是否存在显著差异?(我还在ajax调用中尝试了jsonp数据类型,但没有成功)

因为我们现在不知道实际问题是什么,因为您无法调试,下面是一个关于在手机上调试的解释

1。在计算机上安装
adb
(如果未安装)。

通常与Android SDK一起安装

2。在手机上启用USB调试

要在设备上使用ADB,必须启用USB调试。打开手机设置,然后选择关于。轻触构建编号为的字段七次。您应该会收到一条消息,说您现在是一名开发人员

回到设置页面,您应该会在底部看到一个名为“开发者选项”的新选项。现在启用“USB调试”

现在,当您将手机连接到计算机时,您将看到一个题为“允许USB调试”的弹出窗口。检查“始终允许从此计算机访问”并确认

3。测试并运行ADB

在命令提示窗口(CMD)中运行以下命令:

您应该可以在列表中看到您的设备

4。打开chrome inspect选项卡

现在,如果前面的所有步骤都已完成,并且您成功运行了ADB,请在桌面上打开chrome并转到以下URL:

chrome://inspect

你应该看到你的手机和浏览器在上面运行,点击所需的实例/网站,开发者控制台就会打开


祝你好运:)从现在起,你也可以在手机上调试。也许您会在那里发现错误,如果您无法解决,请将实际错误放在此处,以便我们可以进一步帮助您。

您假设或测试了CORS错误?你能用移动设备做一个测试吗?“我是网络开发新手,所以我还不知道如何调试移动网络浏览器”-然后在谷歌中键入我突出显示的部分。。。对于每个对此感到不安的人,我确实根据Boratzan调试了它,事实上,错误与cors有关。你知道为什么会发生这种情况吗?只在android chrome上遇到了同样的问题。我做到了,这毕竟是实际的错误。猜猜看,没有表现出撒谎的信心,而事实上,这是预期的错误,奖励我-1。很好。你能分享一些代码让我看看出了什么问题吗?现在只是猜测..补充道,但恐怕太简单了,没有实际帮助:/
 public function handle($request, Closure $next)
    {
        return $next($request)
    ->header("Access-Control-Allow-Origin","*")
    ->header("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS");
    }
adb devices