Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax使用字符串名称发送数据_Php_Ajax_Post_Send - Fatal编程技术网

Php Ajax使用字符串名称发送数据

Php Ajax使用字符串名称发送数据,php,ajax,post,send,Php,Ajax,Post,Send,如果已经回答了,我很抱歉,但我在70k+结果中没有找到答案 我想发送如下数据: function _post(params) { var func = params['func']; // -> 'getUserDetails' $.ajax({ url: "crossroad.php", type: "post", data: { func : params },

如果已经回答了,我很抱歉,但我在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);
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);
          }
      });
}
但是有了这段代码,php就可以

$_POST['func']
我希望我发送的字符串命名为params['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,

您需要创建一个对象

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'

    $.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);
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);
          }
      });
}

这里的问题是
func
是一个有效的键标识符,因此,尽管您希望用
func
替换传入的参数,但实际上是在声明名为
func
的数据对象的属性

要解决此问题,请创建一个新对象,并按如下方式传递它:

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);
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\u post(参数){
var func=params['func'];//->'getUserDetails'
var obj={};
obj[func]=params['id'];
$.ajax({
url:“crossroad.php”,
类型:“post”,
资料来源:obj,
现金:错,
完成:功能(响应){
控制台日志(响应);
}
});
}
m={};
m['func']='getUserDetails';
m['id']='123456';
_员额(m)
function\u post(参数){
var func=params['func'];//->'getUserDetails'
var obj={};
obj[func]=params['id'];
$.ajax({
url:“crossroad.php”,
类型:“post”,
资料来源:obj,
现金:错,
完成:功能(响应){
控制台日志(响应);
}
});
}
m={};
m['func']='getUserDetails';
m['id']='123456';

_员额(m)
缓存:假,
?现金:假谢谢你,两个答案都是正确的,但是朱可夫先生比我快了一分钟,所以我很抱歉,但我不得不给他的答案是
cash:false,
还是
cache:false,
?@MasivuyeCokile你说的
cache
属性是什么意思?是
cash:false,
还是
cache:false,
?@MasivuyeCokile您在
缓存
属性上的意思是什么?如果希望PHP中的变量名为“getUserDetails”,请执行
数据:{“getUserDetails”:params}
。但是,变量的名称是奇数。如果希望PHP中的变量名称为“getUserDetails”,请执行
数据:{“getUserDetails”:params}
。不过,变量的名称很奇怪。