Ajax 发送带有字符串名称的数据
Ajax send data with string name
如果这个问题已经得到回答,我深表歉意,但我在 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']
我希望将发送的字符串命名为参数['func'],在这种情况下,我希望在php
中接收
$_POST['getUserDetails']
我怎样才能做到这一点?
您需要创建对象
var requestParams = {};
然后像
一样设置 属性
requestParams[params['func']] = '';// your data to send
//or
requestParams[params['func']] = params['id'];// your data to send
然后放入ajax数据属性
data: requestParams,
这里的问题是 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);
}
});
}
function _post(params) {
var func = params['func']; // -> 'getUserDetails'
var obj = {};
obj[func] = params['id'];
$.ajax({
url: "crossroad.php",
type: "post",
data: obj,
cash: false,
complete: function(respond){
console.log(respond);
}
});
}
m = {};
m['func'] = 'getUserDetails';
m['id'] = '123456';
_post(m);
如果这个问题已经得到回答,我深表歉意,但我在 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']
我希望将发送的字符串命名为参数['func'],在这种情况下,我希望在php
中接收$_POST['getUserDetails']
我怎样才能做到这一点?
您需要创建对象
var requestParams = {};
然后像
一样设置 属性requestParams[params['func']] = '';// your data to send
//or
requestParams[params['func']] = params['id'];// your data to send
然后放入ajax数据属性
data: requestParams,
这里的问题是 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);
}
});
}
function _post(params) {
var func = params['func']; // -> 'getUserDetails'
var obj = {};
obj[func] = params['id'];
$.ajax({
url: "crossroad.php",
type: "post",
data: obj,
cash: false,
complete: function(respond){
console.log(respond);
}
});
}
m = {};
m['func'] = 'getUserDetails';
m['id'] = '123456';
_post(m);