簡體   English   中英

AWS Lambda + API 網關 POST 錯誤

[英]AWS Lambda + API Gateway POST Error

我有一個簡單的 Lambda 函數,它接收一些文本,然后將該文本作為響應返回。 我將它與 AWS API Gateway 連接起來,並在他們的控制台和 Postman 上進行了測試。 我啟用了 CORS,Postman 上的標頭似乎是正確的, Access-Control-Allow-Origin設置為 *。

這是郵遞員的結果:

在此處輸入圖片說明

我無法讓它在我的本地工作,所以我決定在這里托管一個靜態頁面:

https://smileyfacetest.firebaseapp.com/

test = {"text": ":)"}
$.post( "https://pq8thdrp0a.execute-api.us-west-2.amazonaws.com/dev", test)
    .done(function( data ) {
       console.log(data);
    });

但是還是報錯:

XMLHttpRequest cannot load https://pq8thdrp0a.execute-api.us-west-2.amazonaws.com/dev. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://smileyfacetest.firebaseapp.com' is therefore not allowed access. The response had HTTP status code 400.

我在前端做錯了什么嗎? 如果它在 Postman 上工作,並且我在 API 的端點上啟用了 CORS,我不明白為什么它應該拋出錯誤。 任何幫助將非常感激!

如果您想在 Postman 中嘗試,這里是 API 端點:

https://pq8thdrp0a.execute-api.us-west-2.amazonaws.com/dev

我測試了你的電話,它有效。 但是,您需要在 jQuery 調用中將 content-type 設置為 JSON:

$.ajax({
    type: 'POST',
    url: '/form/',
    data: '{"name":"jonas"}', // or JSON.stringify ({name: 'jonas'}),
    success: function(data) { alert('data: ' + data); },
    contentType: "application/json",
    dataType: 'json'
});

我從如何使用 JQuery 發布 JSON 數據?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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