Javascript 可以在两个域之间发出请求吗?
是否可以使用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将在技术上响应任何来源,除非您另行指定,
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(一个完整的应用程序框架…)更简单,并添加了其他有用的工具。可能重复的