如何在AJAX调用中构造POST数据值?

时间:2013-08-04 22:30:45

标签: javascript jquery ajax

我执行AJAX调用的这段代码

$.ajax({
      url : 'inviaCommento.php',
      type : 'POST',
          data : {page: page, category: category} 
          dataType : 'json',
       success : function (msg)
            //...and so on

问题是我想检查是否设置了搜索参数,如果是,我将这个词添加到数据参数中。 问题是:我可以在调用appendig值之前构建数据参数吗? 像这样:

if $('#searchBtn').val()!=''
{
  data.append(search: $('#searchBtn').val())
}

2 个答案:

答案 0 :(得分:1)

是的,但是data不是列表,它是一个对象,所以你只需要分配给相应的键。

var data = {page:page}; // ... current value of data: param in the $.ajax call
if($('#searchBtn').val()!=='')
{
  data.search= $('#searchBtn').val();
}

您将其置于$.ajax()来电之上。

答案 1 :(得分:1)

是的,只需创建一个数组。

var data = {something: [], page: page, category: category, somekey: "default"};

data.something.push("a");
data.something.push("b");
if (...) {
    data.somekey = "new value";
}

$.ajax({
    ...
    data: data
});