簡體   English   中英

JSON PUT請求錯誤

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM