【问题标题】:How to send JSON put with jeditable如何发送带有 jeditable 的 JSON
【发布时间】:2012-08-17 17:54:11
【问题描述】:

根据我对 jeditable 的理解,必填参数是发布新编辑数据的 url。我想做的是使用 http PUT 发送一个 JSON 对象。那可能吗? 感谢您的宝贵时间。

【问题讨论】:

    标签: json jeditable


    【解决方案1】:

    来自 Jeditable API:

    (String) 方法:提交编辑内容时使用的方法。默认为 POST。您很可能想要使用 POST 或 PUT。 PUT 方法与 Rails 兼容。 http://www.appelsiini.net/projects/jeditable

    你应该可以做到:

    $('.editable').editable('http://www.example.com/save.php', { 
         method : 'PUT',
         data : function() {
           var jsonString;
           //create json object
           return jsonString;
         }
     });
    

    【讨论】:

    • 谢谢,但是您将如何指定 JSON 对象?我没有使用 php,我只需要将 JSON 对象发送到某个 url。例如:foobar.net/api/foo/bar {name: 'foo', bar: 'hello'}
    • 即使您将其创建为字符串,例如 - "{'x':'value','y':'value','z':'value'}" 并且在阅读时,请阅读它使用 json 对象,它会工作得很好
    • 对我来说不是很清楚,我怎样才能得到 $('.editable') 的内容。我尝试: jsonString = { title : $('titleEditable'), _id : myStufId };但它不起作用..
    【解决方案2】:

    是的,您可以发送数据,但我建议通过 POST 发送数据。发送数据字段中的数据:-

    type:"POST"

    data: " {'x':'value','y':'value','z':'value'}"
    

    和其他字段,如 url 等。

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      您应该覆盖传递给扩展 $.ajax (jQuery) 的 ajaxoptions 属性:

      oTable.$('td').editable( url, {
          "callback": function( sValue, y ) {
               your code
          },
          "submitdata": function ( value, settings ) {
               your code
          },
          "ajaxoptions": {"method": "PUT"}
      } );
      

      似乎 jEditable 本机方法设置通过“Rails 方式”支持 PUT 方法。所以它实际上不是一个 PUT 请求,而是一个带有“_method”变量和“put”作为值的 POST 请求。 某些 REST 服务不适用于这种方法。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多