javascript - 使用 Ajax 进行 PhoneGap 身份验证

标签 javascript php ajax cordova authentication

我正在使用 PhoneGap 开发 Andorid 应用程序,并尝试进行身份验证。我在 HTML 文件中有一个简单的表单,在 JS 文件中,单击事件后将启动 Ajax,激活远程服务器中的 PHP 文件进行身份验证,这里是 JS:

$("#login").click(function(){
var username=$("#username").val();
var password=$("#password").val();
var dataString="username="+username+"&password="+password;
   
   $.ajax({
        type: "POST",
        url: "http://@@##.altervista.org/test.php",
        data: dataString,
        beforeSend: function(){ $("#login").html('Connecting...');},
        success: function(responce){
            if(responce=='success')
            {
                localStorage.login="true";
                localStorage.username=username;
                window.location.href = "index.html";
            }
            else
            {
                alert("Login error");
                $("#login").html('Login');
            }
        }
    });
return false;});

PHP 文件是一个简单的回显“成功”。 当我运行它时,它仍然卡在函数beforeSend中.

<强> security-policy :

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *" />

<强> config.xml :

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    <name>Hello World</name>
    <content src="index.html" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="14" />
    <plugin name="cordova-plugin-battery-status" source="npm" spec="~1.1.1" />
    ****some plugin, icon and splash that i need***    
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <engine name="android" spec="~5.1.1" />
</widget>

最佳答案

显然这是一个安全问题,如果我在远程服务器中运行它,它会显示 xmlhttprequest 问题:“跨源请求仅支持协议(protocol)方案:http、data、chrome、chrome-extension、https、chrome-extension-资源”。 如果我通过phonegap开发者工具运行它,它就可以工作。

关于javascript - 使用 Ajax 进行 PhoneGap 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37443207/

相关文章:

javascript - 使用 AJAX post 方法将变量从 Javascript 发送到 PHP

jquery - 在同一台机器上的两个网页之间传递数据,无需回发

javascript - 开 Jest 比较值没有视觉差异。测试数组时

javascript - Bootstrap/Css 垂直导航栏应显示子菜单 onclick 而不是悬停

javascript - Angular JS 方法未使用 Wcf 服务定义

php - FFmpeg 命令不起作用

PHP - 根据正则表达式生成字符串

javascript - 在同一页面上通过 AJAX 重新运行 PHP 代码

ruby-on-rails - 使用 JS 响应 iframe 文件上传

javascript - addEventListener 到指定的 html 表列事件传播/委托(delegate)