600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用jq实现ajax传递json数据 使用jQuery的$ .ajax()将多个Json对象作为数据传递

使用jq实现ajax传递json数据 使用jQuery的$ .ajax()将多个Json对象作为数据传递

时间:2018-07-25 19:26:49

相关推荐

使用jq实现ajax传递json数据 使用jQuery的$ .ajax()将多个Json对象作为数据传递

我正在将数据发布到MVC控制器,并且试图维护状态以及乐观并发性。我目前正在回发JSON请求,但可以接受其他可行的选择吗?

我已经使用以下命令发布了名称/值集合:

$.ajax({

url: g_appPath + "/Rounding.aspx/Round/" + $("#OfferId").val(),

type: 'POST',

dataType: 'html',

data: $.toJSON(data), //

contentType: 'application/json; charset=utf-8',

beforeSend: doSubmitBeforeSend,

complete: doSubmitComplete,

success: doSubmitSuccess

});

我还想传递回一个(加密的)ID和时间戳数组,以便服务器可以对其进行解密,然后在保存数据之前验证数据是否仍然新鲜。

非常重要的一点是,数据对象是独立的,并且不是一个或另一个的子对象,也不是包装器数组中的子对象(由于服务器端的反射反序列化)。同样重要的是要注意,我要异步执行此操作,而

不是 作为表单提交。

我的问题是:有什么方法可以使用’application / json’作为内容类型回发2个JSON对象?

我的另一个问题是:是否可以做一个更好的/另一种方式?

提前致谢!

更新 :通过将contentType参数更改为默认值,然后将字符串化的ajax数据作为单独的命名参数发送到querystring中,解决了我的问题。

当您使用contentType时:’application / json; charset =

utf-8’,这会将数据推送到请求的正文中,而不是查询字符串中。我的新$ .ajax()帖子现在看起来像这样:

$.ajax({

url: g_appPath + "/Rounding.aspx/Round/" + $("#OfferId").val(),

type: 'POST',

dataType: 'html',

data: "RoundingData=" + $.toJSON(data) + "&StateData=" + $.toJSON(stateData),

// --removed! contentType: 'application/json; charset=utf-8',

beforeSend: doSubmitBeforeSend,

complete: doSubmitComplete,

success: doSubmitSuccess

});

由于我对这种类型的数据操作缺乏经验,所以确实出现了这个问题,我希望将来有人在寻找这个问题时会偶然发现。

谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。