繁体   English   中英

$ .ajax POST返回“状态”:403,“ statusText”:“禁止” cordova android

[英]$.ajax POST returning “status”:403,“statusText”:“Forbidden” cordova android

我正在使用jquery.mobile-1.4.3.js和cordova.3.5.0开发Android phonegap应用程序。

我正在呼叫$ ajax进行网络服务。 下面是一个代码片段。

 $.ajax({
        type: 'POST',
        data: LoginData,
        crossDomain:true,
        dataType : 'json',
        timeout: 50000,
        url: 'https://dsp-wasatchtechies.cloud.dreamfactory.com/rest/user/session?app_name=XXXXX',
        success: function(data) {


            console.log(' SESSION' + JSON.stringify(data));

        },
        error: function(data) {

            //ActivityIndicator.hide();
            console.log('ERROR : SESSION' + JSON.stringify(data));
            //ShowAlertMessage('There was an error while SESSION');
        }
    });

这是完美的作品,但现在它的响应是:

  [INFO:CONSOLE(155)] "ERROR SESSION{"readyState":4,"responseText":"","status":403,"statusText":"Forbidden"}", source: file:///android_asset/www/js/index.js (155)

此代码有什么问题? 为什么它不起作用? 任何帮助,建议将不胜感激

先感谢您。

  1. 确保服务器代码返回CORS标头,以授予其他站点的访问权限:

例如:header('Access-Control-Allow-Origin:*');

  1. 确保在您的服务器上禁用了“ ModSecurity”(如果您拥有cPanel访问权限,则应该能够通过cPanel / Security或类似方法执行此操作)

  2. 确保您已安装cordova白名单插件(使用cordova pre v5.0.0的“旧版”插件):

    $ cordova插件添加cordova-plugin-legacy-whitelist

  3. 在Cordova config.xml中设置一个非常开放的白名单:

    <allow-intent href =“ *” />

    <access origin =“ *” />

  4. 在index.html中设置内容安全策略:

    <meta http-equiv =“ Content-Security-Policy” content =“ default-src *; script-src *'unsafe-eval''unsafe-inline'; connect-src *; img-src *; style-src * 'unsafe-inline'; media-src *;“>

这使所有WIDE都是开放的,而跨域域,列入白名单的URL请求和内容安全策略的重点是限制跨域访问。 在事情变得可行之后,我将把它作为研究和限制安全性的一项练习。

我希望这有帮助。

参考文献:

https://github.com/apache/cordova-plugin-whitelist#content-security-policy https://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm .html http://content-security-policy.com/

您是否尝试在APP允许的域上拥有要访问的域? 您可以在comfig.xml上进行设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM