【问题标题】:Send JSON object and string parameters simultaneously同时发送 JSON 对象和字符串参数
【发布时间】:2015-12-01 14:03:42
【问题描述】:

是否可以将 jquery JSON 对象和字符串参数发布到 MVC3 控制器方法?

这是我在控制器中的功能:

public void myFunction(List<myObject> obj, string myStringparameter)

还有我的 javascript 函数(不带字符串参数):

$.ajax({
    url: "../MyController/myFunction,
    type: "POST",
    processData: false,
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify({ obj: tabJsonObject})
}).success(function (data) {

    //TODO

})
.error(function (response, status, xhr) {
    //TODO
});

没有字符串参数,它可以正常工作,但我不知道如何添加这个字符串参数。

我不能直接在url中添加,因为url太长,我认为在json数组中添加这个字符串是不好的。

感谢您的帮助

【问题讨论】:

  • 可以在请求体中post json,并将字符串参数作为url参数,例如,路径参数或查询参数。
  • 事实上,我通过在 url 中仅添加字符串参数找到了解决方案:
  • 我不明白,data: JSON.stringify({ obj: tabJsonObject, myStringparameter: somestring}) 有什么问题?如果“myFunction”服务器端正在等待一个列表和一个字符串,它应该没问题。
  • @user1069516 这就是我所说的

标签: jquery json ajax asp.net-mvc-3


【解决方案1】:

事实上,我通过在 url 中仅添加字符串参数找到了解决方案:

$.ajax({
    url: "../MyController/myFunction?myStringparameter=" + myString,
    type: "POST",
    processData: false,
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify({ obj: tabJsonObject})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多