[英]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.