weixin_33726943 2015-07-12 11:24 采纳率: 0%
浏览 12

自定义$ .ajax数据

I'm trying to send some data through $_POST using $.ajax. I tried sending custom fields through 'data', however I can't make it work.

Here's the code I've got:

    $.ajax({
          method: "POST",
          url: templateDir.concat('/updatedetails.php'),
          data: { description: $(replaced).val().replace(/['"]+/g, ''), id: author }
        })

This code works. However I don't want it to always send 'description' - I want it to use the name attribute of the element like this:

    $.ajax({
          method: "POST",
          url: templateDir.concat('/updatedetails.php'),
          data: { $(replaced).attr('name'): $(replaced).val().replace(/['"]+/g, ''), id: author }
        })

With this code, I get the following error: 'expected expression, got '.''

  • 写回答

2条回答 默认 最新

  • 程序go 2015-07-12 11:27
    关注

    You can't dynamically define the name of a property in an object literal. You need to create an object and set the property using array syntax.

    e.g.

    var data = {id: author };
    data[$(replaced).attr('name')] = $(replaced).val().replace(/['"]+/g, '');
    $.ajax({
          method: "POST",
          url: templateDir.concat('/updatedetails.php'),
          data: data
    
        })
    
    评论

报告相同问题?