无法从Javascript访问嵌套

无法从Javascript访问嵌套,javascript,ajax,httprequest,nest,Javascript,Ajax,Httprequest,Nest,我正在尝试使用javascript实现对我的Nest帐户的访问(与之前/现在工作的方式相同)在android本机应用程序(java)中,我们成功访问了Nest帐户,如下所示: final String BASE_URL = "https://home.nest.com/user/login?"; final String USERNAME_PARAM = "username"; final String PASSWORD_PARAM = "password"; Uri buil

我正在尝试使用javascript实现对我的Nest帐户的访问(与之前/现在工作的方式相同)在android本机应用程序(java)中,我们成功访问了Nest帐户,如下所示:

final String BASE_URL =
        "https://home.nest.com/user/login?";
final String USERNAME_PARAM = "username";
final String PASSWORD_PARAM = "password";

Uri builtUri = Uri.parse(BASE_URL).buildUpon()
        .appendQueryParameter(USERNAME_PARAM, mEmail)
        .appendQueryParameter(PASSWORD_PARAM, mPassword)
        .build();

URL url = new URL(builtUri.toString());

// Create the request, and open the connection
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("http.agent", "Nest/1.1.0.10 CFNetwork/548.0.4");
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.connect();

// Read the input stream into a String
InputStream inputStream = urlConnection.getInputStream();
但当我尝试在Javascript中执行相同操作时,会出现以下错误:

无法加载XMLHttpRequest . 对飞行前请求的响应未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此不允许源“domain.com”访问。这个 响应的HTTP状态代码为401

我的Javascript:

var BASE_URL = "https://home.nest.com/user/login?";
var USERNAME_PARAM = "username";
var PASSWORD_PARAM = "password";

var url = BASE_URL +  USERNAME_PARAM + "=" + mEmail
    + "&" + PASSWORD_PARAM + "=" + mPassword; // pass in a URI as a string and parse that 


$.ajax({
    headers: { "http.agent": "Nest/1.1.0.10 CFNetwork/548.0.4" },
    type: "POST",
    url: url,
    contentType: "application/x-www-form-urlencoded",
    dataType: "json",
    success: function (response) {
        console.log("Success:" + JSON.stringify(response));           
    },
    error: function (response) {
        console.error("Error:" + JSON.stringify(response));
    }
});
知道问题是什么吗?为什么它在java中工作,我也尝试过使用Postman-REST客户机扩展,它工作得非常完美

谢谢,
约瑟夫

科尔斯。看看你问题的黄色部分。。。您的请求未通过跨站点脚本检查,这意味着您无法使用AJAX执行此调用,您可以使用JSONP吗?顺便说一句,JSONP只能由GET使用

解决方案是在需要时实现代理