[英]Paraimpu HTTP POST REQUEST
我试图从我的Jquery移动应用程序(托管在Amazon S3上)向“ http://paraimpu.crs4.it/data/new”发出http POST请求,以将数据插入Paraimpu站点上的传感器中。 这是我提出的要求:
data = "Test";
valueToSend = '{"token":"c9d1cee6-da40-4e97-afc8-209045786b04","content-type":"application/json","data":' + data + '}';
$.ajax({
url: "http://paraimpu.crs4.it/data/new",
type: "POST",
data: valueToSend,
dataType: "json",
crossDomain: true,
contentType:"application/json",
success: function(){
alert('Success');
}
});
我不断
XMLHttpRequest无法加载http://paraimpu.crs4.it/data/new 。 Access-Control-Allow-Origin不允许使用来源“ http://webappz.s3-website-us-east-1.amazonaws.com”。
我知道这是由于跨域政策引起的,但是我该如何解决呢? paraimpu页面上的说明非常模糊,只是说:
通过HTTP POST将新的传感器数据推送到:
http://paraimpu.crs4.it/data/new
其内容类似:{“ token”:“ c9d1cee6-da40-4e97-afc8-209045786b04”,“ content-type”:“ text / plain”,“ data”:RAW DATA}
data = "Test";
valueToSend = '{"token":"c9d1cee6-da40-4e97-afc8-209045786b04","content-type":"application/json","data":' + data + '}';
$.ajax({
url: "http://paraimpu.crs4.it/data/new",
type: "POST",
data: valueToSend,
dataType: "jsonp", //set datatype to jsonp
crossDomain: true,
jsonp: false,
contentType:"application/json",
success: function(){
alert('Success');
}
});
这些是您缺少的部分:
dataType: "jsonp"
:您期望从服务器返回的数据类型。 “ jsonp”,使用JSONP加载到JSON块中。 添加一个额外的“?callback =?” URL的末尾以指定回调。 通过将查询字符串参数“ _ = [TIMESTAMP]”附加到URL来禁用缓存,除非将cache选项设置为true。
jsonp: false
:覆盖jsonp请求中的回调函数名称。 将使用此值代替'callback =?'中的'callback'。 网址中查询字符串的一部分。 因此{jsonp:'onJSONPLoad'}将导致'onJSONPLoad =?' 传递给服务器。 从jQuery 1.5开始,将jsonp选项设置为false可防止jQuery将“?callback”字符串添加到URL或尝试使用“ =?”。 进行转化。 在这种情况下,您还应该显式设置jsonpCallback设置。 例如,{jsonp:false,jsonpCallback:“ callbackName”}
此处的更多信息: jQuery.ajax()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.