0

我正在尝试使用已知的用户名和密码登录网站,并从该网站获取该网站上特定用户帐户的一些数据。为此,我正在使用 jQuery 和 Ajax。这是我的代码:

$.ajax({
async: false,
cache: false,
type: 'POST',
dataType: 'json',  // json...just for example sake
data: ({
    'login_username': username,
    'secretkey': password
}),
url: 'https://mail.someserver.com/src/redirect.php',
success: function (data) {
    alert("SUCCESS!")
    if (data === '1') {  // server returns a "1" for success
        // success!
        // do whatever you need to do
    } else {
        // fail!
    }
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
    // something went wrong with the request
    alert("Failed!");
}

});

我已经在网络上进行了搜索,并且我知道浏览器不允许跨服务器 ajax 调用以防止安全问题,但我已经尝试使用“jsonp”作为 dataType 无济于事:(

那么,我做错了什么?

4

2 回答 2

0

确保您url没有违反同源策略- 也就是说,来自客户端的请求不能从不同域的服务器请求数据(此规则有例外,命名为CORS,但这需要您进行更改到您正在与之交谈的服务器/应用程序)。

您的问题的解决方案是从某个服务器端脚本发出请求,然后让您的客户端应用程序根据为 Web 提供应用程序的同一台机器查询该脚本。

于 2013-01-26T21:14:46.690 回答
0

我的错不在上面的代码上,我的错是在我的清单文件中(我正在构建一个 Google Chrome 扩展程序)我没有设置适当的权限(https://*)。

对挫折感到抱歉!

于 2013-01-27T20:38:15.470 回答