我必須從html表單發佈數據到api。我有以下代碼:從html表單發佈到api json jquery
<form name="newAppform">
<input type="text" name="appname" placeholder="App Name" id="appname"><br>
<input type="radio" name="platform" value="iOS"> iOS
<input type="radio" name="platform" value="Android"> Android<br>
<input type="submit" value="submit" name="submit" id="submit"></form>
和jQuery是:
var a = 1; //var x = $('#appname').val();
$('#submit').click(function(){
//alert($('#appname').val());
$.ajax({
type: 'POST',
url: 'https://service.../.../createApp',
contentType: "application/json",
data: JSON.stringify({"account_id" : a, "app_name" : $('#appname').val(), "app_platform" : $("[name='platform']").val()}),
success: function() {
alert("Complete!");
},
error: function(e) {
console.log(e);
alert("Something went wrong.");
}
});
});
我使用的是有效的發佈網址,這是我用省略號代替這裏。我收到了警報'Something went wrong.'
。這是獲得在控制檯上記錄的錯誤是
{readyState的:0,getResponseHeader:ƒ,getAllResponseHeaders:ƒ, setRequestHeader:ƒ,overrideMimeType:ƒ,...}。
出了什麼問題?請注意,同樣的帖子使用相同的代碼,如果我沒有從表單輸入中獲取成功消息,我會收到相應的消息。相反,表格輸入閱讀除了發佈之外單獨運作。如果我取消註釋「提醒」,它可以顯示我放入輸入文本字段的值。另請注意,如果我取消註釋並將變量x用作鍵「appname」的值,它仍然不起作用。同樣的錯誤。但是,如果我將x外部硬編碼爲var x ='abc',我就會獲得成功。
你不需要'stringify'數據屬性 –
_「在控制檯上登錄的錯誤是」_ ...實際上不是一個「錯誤」,而是jqXHR對象本身 – CBroe
還檢查你的響應,服務器將返回一些錯誤r。 –