在POST请求中发送Json数组请求JavaScript
我在AJAX调用中发送JSON数组时遇到问题。以下是我的代码在POST请求中发送Json数组请求JavaScript
var company_name = $('input#company_name').val();
var company_localname = $('input#company_localname').val();
var companytype = $('#companytype').val();
if (companytype == 'retailer') {
var bank_name = $('input#bank_name').val();
var account_title = $('input#account_title').val();
var business_nature = $('input#business_nature').val();
var gross_sales = $('input#gross_sales').val();
}
让我保存以JSON数据像下面
var jsonArray = [];
jsonArray["company_name"] = company_name;
jsonArray["company_localname "] = company_localname;
if (companytype == 'retailer') {
jsonArray["bank_name"] = bank_name;
jsonArray["account_title"] = account_title;
jsonArray["business_nature"] = business_nature;
jsonArray["gross_sales"] = gross_sales;
}
现在发送的所有值后,jsonArray在AJAX调用
$.ajax({
url : url,
type : "POST",
dataType : 'json',
contentType : 'application/json; charset=UTF-8',
data : JSON.stringify(jsonArray),
success : function(response) {
//Some Code here
}
});
请帮助我发送数据。或者告诉我,如果我在这里犯了什么错误。谢谢
做这样的事情。
$.ajax({
url: url,
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=UTF-8',
data: JSON.parse(JSON.stringify(jsonArray)),
success: function(response) {
//Some Code here
}
});
在JavaScript/JSON数组中,索引为0的数据结构为0。你所使用这里更像是一个地图:
var jsonArray = [];
jsonArray["company_name"]=company_name ;
在JavaScript中不能使用数组像这样的(当然你可以,但它可能不是你想要的)。对于像映射这样的数据结构,它将字符串映射到对象,而不是对象的索引,只需使用一个对象即可。
或简称:使用var jsonArray = {};
而不是var jsonArray = [];
的{}
将创建一个对象,你可以指定属性喜欢你做。和JSON.stringify
将正确地把这种成JSON串这样的:
{ "property": value, "otherProperty", otherValue }
非常感谢。有效 :) –
的JSON.parse()来方法解析一个字符串作为JSON,任选转化通过解析所产生的值。 Read more about JSON.parse() method
JSON.stringify()方法将JavaScript值转换为JSON字符串。 Read more about JSON.stringify() method
在这里,您只需发送一个数组并将其解析到服务器端即可。
$.ajax({
url : url,
type : "POST",
dataType : 'json',
data : jsonArray,
success : function(response) {
//Some Code here
}
});
感谢您的回复。但抱歉没有工作 –