[英]Ajax send data Json type error
我想用jsontype
提交Form ajax
假設我在該文本框中有5個字段,而在5個文本框中,普通文本的第一個字段值本身是json,所以ajax拋出錯誤。 我如何發送
[![在此處輸入圖片描述] [1]] [1]
my.js
function _getTest(){
var data = JSON.stringify($("#formId").serialize());
//alert(data);
$.ajax({
url: "domain.com",
datatype: 'json',
type: "POST",
contentType: 'application/json',
data: data,
success: function(data) {
console.log(data);
},
error: function(result) {
alert(result.responseText);
}
});
}
提交表單后,我的狀態為此狀態代碼:400錯誤的請求
常規選項卡請求URL: http:// mycustomurl / com請求方法:POST狀態代碼:400錯誤的請求遠程地址:35.154.113.130:8080推薦人策略:no-referrer-when-downgrade
[![在此處輸入圖片描述] [2]] [2]
預期有效載荷
{
"name": "user",
"mobile": "1234567890",
"email": "my@gmail.com",
"address": "test",
"localityID": 1,
"cityID": 1,
"bookingDate": "2017-12-20",
"timingID": "1",
"paymentType": 1,
"affiliateID": 15,
"key": "test",
"password": "test",
"orderItems": [{
"id": 3,
"quantity": 2
}, {
"id": 4,
"quantity": 5
}]
}
根據我的理解,我創建了以下邏輯來創建您的有效負載。 此代碼創建您要作為有效內容發送的確切結構。 在我的代碼中,我創建了mainData數組來創建有效負載。 在您的情況下,您需要將此mainData作為ajax有效負載數據傳遞。 希望這可以解決您的問題
var mainData={}; $(document).ready(function(){ $("#submit").click(function(){ mainData='{'+'\\n'+ '"name":'+ $("#name").val()+',\\n'+ '"mobile": '+$("#mobile").val()+',\\n'+ '"email": '+$("#email").val()+',\\n'+ '"address": '+$("#address").val()+',\\n'+ '"localityID": '+$("#localityID").val()+',\\n'+ '"cityID": '+$("#cityID").val()+',\\n'+ '"bookingDate":'+$("#bookingDate").val()+',\\n'+ '"timingID": '+$("#timingID").val()+',\\n'+ '"paymentType":'+$("#paymentType").val()+',\\n'+ '"affiliateID": '+$("#affiliateID").val()+',\\n'+ '"key": '+$("#key").val()+',\\n'+ '"password":'+$("#password").val()+',\\n'+ '"orderItems": '+$("#orderItems").val()+'\\n'+ ' });'; console.log("mainData="); console.log(mainData); }); });
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"> </script> <input type="text" id="name" placeholder="Name"/> <input type="number" id="mobile" placeholder="Mobile"/> <input type="text" id="email" placeholder="Email"/> <input type="text" id="address" placeholder="address"/> <input type="text" id="cityID" placeholder="City ID"/> <input type="text" id="localityID" placeholder="Locality ID"/> <input type="date" id="bookingDate" placeholder="Booking Date"/> <input type="text" id="timingID" placeholder="Timing ID"/> <input type="text" id="paymentType" placeholder="Payment Type"/> <input type="text" id="affiliateID" placeholder="Affiliate ID"/> <input type="text" id="key" placeholder="Key"/> <input type="password" id="password" placeholder="Password"/> <textarea type="text" id="orderItems" placeholder="order Items"></textarea> <input type="submit" id="submit" />
從上面的代碼創建有效負載之后,您可以按如下所示在ajax中傳遞有效負載
function _getTest(){
$.ajax({
url: "domain.com",
type: "POST",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(mainData),
success: function(data) {
console.log(data);
},
error: function(result) {
alert(result.responseText);
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.