[英]JSON PUT Request Error
我正在嘗試使用JSON對API進行PUT調用。 我正在使用jQuery,據我所知,我的代碼看起來正確:
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url: 'https://app.clickdimensions.com/Service.svc/v1/account/accountIdHere/capture',
type: 'PUT',
data: { 'reg_FirstName': 'First',
'reg_LastName': 'Last',
'reg_Phone': '123-342-1211',
'reg_Email': 'email@email.com',
'reg_Company': 'My Company',
'reg_Address1': '123 Traffic Lane',
'reg_Address2': '',
'reg_City': 'Atlanta',
'reg_State': 'GA',
'reg_Zip': '12232',
'reg_Country': 'United States'
},
success: function() { alert('PUT completed'); }
});
});
</script>
但是當我運行它時,出現以下錯誤:
XMLHttpRequest cannot load https://app.clickdimensions.com/Service.svc/v1/account/accountIdHere/capture. Origin http://localhost:65116 is not allowed by Access-Control-Allow-Origin.
我到處都看了看,嘗試了所有我找不到的東西。 因此,我認為我的代碼執行JSON PUT調用可能是錯誤的。 我的代碼看起來不對嗎? 如果是這樣,我該如何解決。 如果沒有,對這個錯誤有什么想法嗎?
謝謝!
您的代碼是正確的,但是除非您請求數據的域返回正確的CORS標頭,否則無法跨域執行PUT請求。
您的jQuery看起來不錯。 問題在於Origin http://localhost:65116 is not allowed by Access-Control-Allow-Origin.
這表明跨域資源加載,這在大多數情況下是固定的。 如果您可以控制https://app.clickdimensions.com/Service.svc/v1/account/accountIdHere/capture
,則可以對其進行修改以允許來自特定域的此類請求,也可以使用JSONP而不是JSON進行交叉域請求,盡管我不確定在這種情況下使用HTTP PUT是否成功。 據我所知,JSONP必須是HTTP GET。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.