手机上的CORS无法正常工作

时间:2014-04-22 04:03:55

标签: javascript ajax cordova cors

我终于通过浏览器将代码从我的PC跨域运行到我的服务器。但是将代码移动到phonegap它不再起作用了。我已经获得了互联网和访问源*的许可,因此它应该能够访问所有网页。我还需要启用什么?

<html>
<head>
<script src="js/jquery-1.11.0.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
<script>
    function dologin() {
        var senddata = $('#form').serialize();
        alert(senddata);

        $.ajax({
            type: 'post',
            url: 'XXXXXXXX',
            data: senddata,
            crossDomain: true,
            dataType: 'json',
            success: function(response) {
                if(response.success == true)
                    alert("YAY");
                else
                    alert("NAY");
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {      
                console.log("Status: " + textStatus); alert("Error: " + errorThrown);
            } 
        });
        return false;
    };
    </script>
</head>
<body>
    <h1>Logg inn</h1>
    <form id="form" onsubmit="return dologin();">
        <div class="form-group">
            <label for="email">Epost</label> <input type="email"
                class="form-control" name="email" value="test@test.no"
                placeholder="Epost">
        </div>
        <div class="form-group">
            <label for="password">Passord</label> <input type="password"
                class="form-control" name="password" value="test"
                placeholder="Passord">
        </div>
        <div class="checkbox">
            <label> <input type="checkbox" name="remember_me">
                Husk meg
            </label>
        </div>
        <button type="submit" class="btn btn-primary">Logg inn</button>
    </form>

    <div class="login-help">
        <p>
            Glemt passordet? <a href="index.html">Trykk her for å endre det</a>.
        </p>
    </div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

尝试在ajax调用中包含此行

headers: { "cache-control": "no-cache" }

答案 1 :(得分:0)

跨域策略不适用于PhoneGap(由于各种原因,主要是因为您的应用实际上是在文件上运行:// URI on-device)。因此,您尝试删除ajax调用中的跨域参数。