1
我们正尝试拨打使用SSL证书的.NET REST API。我们已经将服务器标题设置为Allow All(使用CORS),当我们尝试使用下面的代码通过Web浏览器访问它时,它非常适用,但是当我们尝试使用使用Intel XDK创建的应用程序时,在下面的代码图片)所示:使用intel.xdk拨打https呼叫
function test1() {
var self = this;
self.ajax = function (uri, method, data)
{
alert('sending: ' + data);
var request = {
url: uri,
type: method,
contentType: "x-www-form-urlencoded",
accepts: "application/json",
cache: false,
origin: 'localhost',
data: data,
success: function (result)
{
console.info("WORKS!");
},
error: function (jqXHR) {
console.log("Got a response");
console.log(jqXHR);
console.log("ajax error " + jqXHR.status);
}
};
return $.ajax(request);
};
self.ajax(
'https://localhost:44301/token',
'POST',
'grant_type=XXX&username=XXX&password=XXX'
)
.done(function (data) {
alert('got data from auth');
alert(data.access_token);
});
}
function test2()
{
$.ajax({
url: "https://localhost:44301/token",
type: "POST",
jsonp: "callback",
dataType: "jsonp",
data: "grant_type=XXX&username=XXX&password=XXX",
crossDomain: true, //Don't think this is required really...
jsonpCallback: function (data)
{
console.log("JSON P CALLBACK!");
console.info(data);
},
success: function (response) {
console.log(response);
}
});
}
在英特尔XDK项目中,我们使用xhr.js文件,这似乎是通用的解决这个问题的每一个地方,但我还没有看到任何人实际将它与SSL证书结合使用。
服务器是否具有有效的SSL证书? – krisrak 2015-02-11 22:56:12
@krisrak:是的,正如我所说的,这在其他地方效果很好,只是不在Intel.XDK应用程序中。 – Maffelu 2015-02-12 05:54:58
可以尝试使用此选项在命令行中打开xdk'--ignore-certificate-errors' – krisrak 2015-02-12 18:09:07