如果已经回答,我道歉,但我还没有找到70k +结果的答案..
我想发送这样的数据:
function _post(params) {
var func = params['func']; // -> 'getUserDetails'
$.ajax({
url: "crossroad.php",
type: "post",
data: { func : params },
cash: false,
complete: function(respond){
console.log(respond);
}
});
}
m = {};
m['func'] = 'getUserDetails';
m['id'] = '123456';
_post(m);
但是使用这段代码,php得到了
$_POST['func']
我希望我发送的字符串被命名为params [' func']并且在这种情况下我想在php中接收
$_POST['getUserDetails']
我怎样才能做到这一点?
答案 0 :(得分:1)
您需要创建对象
var requestParams = {};
然后像
一样设置它的属性requestParams[params['func']] = '';// your data to send
//or
requestParams[params['func']] = params['id'];// your data to send
然后输入ajax数据属性
data: requestParams,
答案 1 :(得分:1)
这里的问题是func
是一个有效的密钥标识符,所以虽然您希望func
替换您传入的参数,但实际上您声明了一个名为您的数据对象的属性func
。
要解决此问题,请创建一个新对象,然后将其传递给:
function _post(params) {
var func = params['func']; // -> 'getUserDetails'
var obj = {};
obj[func] = params;
$.ajax({
url: "crossroad.php",
type: "post",
data: obj,
cash: false,
complete: function(respond){
console.log(respond);
}
});
}
答案 2 :(得分:0)
{{1}}