我可以在ajax中发布json对象和参数吗
can i post json object and parameter in ajax
这里有一个问题,我使用$.ajax发布到MVC控制器。我的内容类型&dataType是json。我发布json对象没有问题,但我可以在同一个帖子上发布一个带有其他参数的json对象吗?(比如id或字符串)?
例如:
var jsonObject = JSON.stringify(data);
var id = 1;
$.ajax({
url: 'some url',
type: 'POST',
data: {
jsonObject: jsonObject,
id: id},
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (data) {
},
error: function (data, event) {
},
});
[EDIT]-添加"id"作为属性的问题的额外信息没有帮助,因为我在服务器端的对象模型(MVC)没有属性"id"。假设我的"data"对象模型是:
class Temp{
string name
string phone
}
现在,当我在MVC中将json"POST"到控制器时,我希望在POST中包含"id"参数。
所以控制器看起来像:
[HttpPost]
public JsonResult SampleMethod (Temp temp, int id){
...
}
没有必要字符串化这些东西,jQuery会帮你做到这一点:
// not necessary var jsonObject = JSON.stringify(data);
var id = 1;
$.ajax({
"url": 'some url',
"type": 'POST',
"data": {
"jsonObject": data,
"id": id
},
"dataType": 'json',
"success": function (data) {
},
"error": function (data, event) {
},
});
以及不需要content_type,dataType
正在相应地设置这一点。在服务器上,您可以得到(作为查询参数):
...jsonObject=<stringified data>&id=1234...
[编辑]
为了只传递数据对象,可以添加id
作为属性:
var id = 1;
data.myId = id;
$.ajax({
"url": 'some url',
"type": 'POST',
"data": data,
...
相关文章:
- JS for循环来设置HTML对象参数
- 如何在使用javascript加载页面时直接设置对象参数
- 如何将对象参数传递给事件处理程序
- 在ng重复中剪切对象参数的字符串长度
- 在新对象参数中使用“this”选择器
- 在 javascript 中通过引用传递一个对象参数
- 为什么 Javascript 中的参数在使用 console.log 时返回 [对象参数]
- 如何使用 javascript 访问在函数中传递的对象参数
- 在哪里可以获得有关 JavaScript 函数的对象参数语法的信息
- JavaScript 对象参数在通过网络读取时更改
- 我正在寻找一种智能方法来检查传递给函数的对象参数
- 使用来自另一个函数的对象参数调用函数
- Javascript中的对象参数,以及我们应该如何命名它们
- Jquery 在 Firefox 中的自定义对象参数(动态导航加载动态内容)
- 有效记忆对象参数
- AngularJS v1.2.x $digest() 无限循环指令隔离范围对象参数
- 在 Jasmine 中执行有关对象参数的断言
- Jquery - 编辑对象参数
- 检查对象参数是否具有所有必需属性的最有效方法是什么
- Javascript对象参数的分配和使用