0

我有一个javascript函数...

function check_val(name, cat)
{
    alert(cat);

    var val = name.indexOf('[');
    if (val == -1){
        //$('input[type="checkbox"][value='+ name + ']')[0].click()      
        val = '"' + name + '"'
        type = "'" + cat + "'"
        $.get(url,{'ajaxtype':'content', type : val}, function(data{$('#search_container').html(data);$('#rotator').hide();});
    }
}

当我用参数调用这个函数时说check_val('xyz','pqr')

问题是当我检查我得到的 request.get 参数时

<QueryDict: {u'type': [u'"xyz"'], u'ajaxtype': [u'content']}>

代替

<QueryDict: {u'pqr': [u'"xyz"'], u'ajaxtype': [u'content']}>
4

2 回答 2

1

预先构建对象并使用数组下标语法:

var requestData = { 'ajaxtype': 'content' };
requestData[type] = val;
$.get(url, requestData,
  function(data{$('#search_container').html(data);$('#rotator').hide();});
于 2013-10-14T09:34:07.053 回答
0

而不是{'ajaxtype':'content', type : val}尝试{'ajaxtype':'content', "'" + cat + "'" : val}

这样JS应该知道它不是键名而是变量。

于 2013-10-14T09:34:02.623 回答