Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以在两个域之间发出请求吗?_Javascript_Xmlhttprequest - Fatal编程技术网

Javascript 可以在两个域之间发出请求吗?

Javascript 可以在两个域之间发出请求吗?,javascript,xmlhttprequest,Javascript,Xmlhttprequest,是否可以使用JavaScript在域www.site.mySiteName.com和api.mySiteName.com之间发出xhr请求 我需要从API中实时获取数据,但我不知道如何操作。使之成为可能(将API打开到网页): 您可以在域之间执行ajax请求,但是,主机必须允许您的来源 您需要将标题附加到响应中(这需要在API上完成): 或者类似于: Access-Control-Allow-Origin: site.mySiteName.com API将在技术上响应任何来源,除非您另行指定,

是否可以使用JavaScript在域
www.site.mySiteName.com
api.mySiteName.com
之间发出
xhr
请求


我需要从API中实时获取数据,但我不知道如何操作。

使之成为可能(将API打开到网页):

您可以在域之间执行ajax请求,但是,主机必须允许您的来源

您需要将标题附加到响应中(这需要在API上完成):

或者类似于:

Access-Control-Allow-Origin: site.mySiteName.com
API将在技术上响应任何来源,除非您另行指定,无论标题为何;但是,如果现在允许您的来源,浏览器将显示请求失败

此外,您应该知道,根据请求,您的API必须支持飞行前“选项”请求

见:

以javascript实际发出请求:

您可以使用jQuery“ajax”发出请求:

简单获取请求:

$.ajax({
    method: "get",
    url: "test.html",
}).done(function(data) {
    console.log('got data:' + data);
});
$.ajax({
    method: "post",
    url: "test.html",
    data: {somekey: 'somevalue'}
}).done(function(data) {
    console.log('got data:' + data);
});
简单的post请求:

$.ajax({
    method: "get",
    url: "test.html",
}).done(function(data) {
    console.log('got data:' + data);
});
$.ajax({
    method: "post",
    url: "test.html",
    data: {somekey: 'somevalue'}
}).done(function(data) {
    console.log('got data:' + data);
});
将响应格式化为JSON:

$.ajax({
    method: "get",
    url: "test.html",
    dataType: "json"
}).done(function(data) {
    console.log('got data:' + data);
});

注意(编辑):您可以在本机javascript中执行此操作;另一方面,使用jQuery或AngularJS(一个完整的应用程序框架…)更简单,并添加了其他有用的工具。

使之成为可能(将API打开到网页):

您可以在域之间执行ajax请求,但是,主机必须允许您的来源

您需要将标题附加到响应中(这需要在API上完成):

或者类似于:

Access-Control-Allow-Origin: site.mySiteName.com
API将在技术上响应任何来源,除非您另行指定,无论标题为何;但是,如果现在允许您的来源,浏览器将显示请求失败

此外,您应该知道,根据请求,您的API必须支持飞行前“选项”请求

见:

以javascript实际发出请求:

您可以使用jQuery“ajax”发出请求:

简单获取请求:

$.ajax({
    method: "get",
    url: "test.html",
}).done(function(data) {
    console.log('got data:' + data);
});
$.ajax({
    method: "post",
    url: "test.html",
    data: {somekey: 'somevalue'}
}).done(function(data) {
    console.log('got data:' + data);
});
简单的post请求:

$.ajax({
    method: "get",
    url: "test.html",
}).done(function(data) {
    console.log('got data:' + data);
});
$.ajax({
    method: "post",
    url: "test.html",
    data: {somekey: 'somevalue'}
}).done(function(data) {
    console.log('got data:' + data);
});
将响应格式化为JSON:

$.ajax({
    method: "get",
    url: "test.html",
    dataType: "json"
}).done(function(data) {
    console.log('got data:' + data);
});
注意(编辑):您可以在本机javascript中执行此操作;另一方面,使用jQuery或AngularJS(一个完整的应用程序框架…)更简单,并添加了其他有用的工具。

可能重复的