我需要将对象序列化为JSON.我正在使用jQuery.是否有"标准"方法来做到这一点?
我的具体情况:我有一个定义如下所示的数组:
var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...
Run Code Online (Sandbox Code Playgroud)
我需要把它变成一个字符串传递给$.ajax()这样:
$.ajax({
type: "POST",
url: "Concessions.aspx/GetConcessions",
data: "{'countries':['ga','cd']}",
...
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我需要通过ajax发送一个javascript数组对象到PHP脚本.像这样的东西:
var saveData = Array();
saveData["a"] = 2;
saveData["c"] = 1;
alert(saveData);
$.ajax({
type: "POST",
url: "salvaPreventivo.php",
data:saveData,
async:true
});
Run Code Online (Sandbox Code Playgroud)
数组的索引是字符串而不是int,因此像saveData.join('&')这样的东西不起作用.
想法?
提前致谢
如何准备这个数组$.ajax提交?这里的图像返回,["val1","val2"]但在我使用后我$.param(images)回来了$.ajax
$('#rem_images').click(function() {
var images = new Array();
$('.images_set_image input:checked').each(function(i) {
images[i] = $(this).val();
});
alert($.param(images));
return false;
}
Run Code Online (Sandbox Code Playgroud)
一般的想法是检查要在页面上删除的图像然后在按钮点击循环上通过所有图像检查和序列化数组以通过ajax提交到PHP脚本.
我有这样一个数组:
var nums=["21", "22", "23", "20", "19", "18"];
Run Code Online (Sandbox Code Playgroud)
和这个JQuery Ajax代码:
$('#chk').click(function () {
$.ajax({
url: "/BarberShop/ServiceUpdate",
type: "Post",
data:{ nums: nums},
dataType: "json",
success: function (data) {
}
});
});
Run Code Online (Sandbox Code Playgroud)
和控制器动作如下:
[HttpPost]
public ActionResult ServiceUpdate(string nums)
{
//Do something......
return View();
}
Run Code Online (Sandbox Code Playgroud)
问题是当我nums在Controller Action中使用ajax 参数发布数组时null,服务器也给我这个错误:
POST http:// localhost:18322/BarberShop/ServiceUpdate 500(内部服务器错误)
n.ajaxTransport.k.cors.a.crossDomain.send @jquery-2.1.4.min.js:4n.extend.ajax @jquery-2.1.4.min.js:4(匿名函数)@ Barbershop:481n. event.dispatch @jquery-2.1.4.min.js:3n.event.add.r.handle @jquery-2.1.4.min.js:3
我在这个链接和其他一些方面尝试了所有答案:
500内部服务器错误 - 上的jQuery的Ajax-后ASP净MVC
但仍然有问题.谢谢