【问题标题】:Pass object value to controller using Ajax GET使用 Ajax GET 将对象值传递给控制器
【发布时间】:2016-10-11 12:23:40
【问题描述】:
 $.ajax({
        url: "/Course/GetChapters/",
        type: "GET",
        data:{id:2},
        beforeSend: function () { },
        success: function (result) {}
    })
    .done(function () {});

我可以通过数据传递一个复杂的对象吗?

【问题讨论】:

  • 引用数据中的对象?你的问题是什么?您是否尝试将数据设置为您的对象?发生了什么?
  • 你不能传递函数,但你可以传递复杂的数据结构。一种方法是仅对它进行 json 编码并将其作为字符串传递,然后在服务器上对其进行解码。
  • 假设字符串比 GET 可以处理的字符少,这不是无限的..
  • 复杂到JSON.stringify() 可以编码(用于POST)
  • 如果你想发送复杂的对象,你应该考虑使用“POST”而不是“GET”:-)

标签: javascript c# asp.net ajax


【解决方案1】:

JQuery Ajax - Documentation

数据 -> 要发送到服务器的数据。如果还不是字符串,则将其转换为查询字符串。它附加到 GET 请求的 url。请参阅 processData 选项以防止此自动处理。对象必须是键/值对。如果 value 是一个 Array,jQuery 会根据传统设置的 value 序列化多个具有相同 key 的值(如下所述)。

只要您有简单的名称/值对,它就可以工作。当然,URL 的长度限制为 2,083 个字符。

【讨论】:

  • 就像查询字符串。好的,谢谢,你有例子吗?
【解决方案2】:

试试这个: var data = 'param1=' + value+ '&param2=' + value; 或者 var data = '{param1:'val1',param2:'val2',}'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多