我正在使用ajax帖子并将json对象作为参数传递给mvc控制器
我注意到如果我用这种方式调用ajax就可以了。
"%path:;=";"%"
但是呼叫失败了
vm.updateRoom = function(ctx){
var test = ko.toJSON(ctx);
return $.ajax(
{
type: "POST",
contentType: 'application/json; charset=utf-8',
url: 'myUrl',
data: test
}).success(function (data) {
//...
}).fail(function (xhr,error,status) {
//...
});
}
我检查了xhr含量,在第一种情况下我检查了json对象,在第二种情况下是%7B%22Id%22%3A%221%22%2C%2 ...字符串。 控制器期望复杂对象作为参数。
如何设法使用第二种语法传递json对象?
答案 0 :(得分:0)
vm.updateRoom= function(ctx){
var test = ko.toJSON({room:ctx}); //some js variable
if(validator1 && validator2 && validator3 && validator4){
return $.ajax(
{
type: "POST",
contentType: 'application/json; charset=utf-8',
url: 'room/update',
data: test
}).success(function (data) {
//...
}).fail(function (xhr,error,status) {
//..
});
}
};
为了完整性我在这里添加了一个示例控制器动作片段......
public class RoomController : Controller
{
...
[HttpPost]
public ActionResult Update(Room room)
{
...
}
}