Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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
Javascript 从JS到PHP的AJAX post方法-变量null_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 从JS到PHP的AJAX post方法-变量null

Javascript 从JS到PHP的AJAX post方法-变量null,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我想通过AJAX从客户端调用服务器函数 index.php: <?php ?> <html> <head> ... <script src="http://code.jquery.com/jquery-latest.min.js"></script> ... console.log(position); // there IS a value! good! console.log(result);

我想通过AJAX从客户端调用服务器函数

index.php:

<?php 
?>
<html>
<head>
...
 <script src="http://code.jquery.com/jquery-latest.min.js"></script>
...
        console.log(position); // there IS a value! good!
        console.log(result);   // there IS a value! good!
  jQuery.ajax({
        type: "POST",
        url: 'crud.php',
        data: {functionname: 'insertLocation', arguments: [position, result]}, 
         success:function(data) {
        alert(data); 
         }
    });

...
...
控制台日志(位置);//这是有价值的!好!!
console.log(结果);//这是有价值的!好!!
jQuery.ajax({
类型:“POST”,
url:'crud.php',
数据:{functionname:'insertLocation',参数:[position,result]},
成功:功能(数据){
警报(数据);
}
});
crud.php:

<?php 
    $position = $_POST["position"]; //NOTHING!
    $result = $_POST["result"];     //NOTHING!
    include ("insert.php");
    switch($_POST["functionname"]){ 
        case 'insertLocation': 
            insertLocation($position,$result);
            break;      
    }   
 ?>

insert.php

<?php 
function insertLocation($position,$result){
...
}
?>

将其传递到服务器端时,我正在丢失该值。我可以从JS中记录值,但当我登录php时,会出现null(或空字符串?)。对数据库的查询也可以工作,但不插入任何值

我是网络编程新手,因此我提前为难闻的气味等道歉。

是的,
$\u POST
有您的变量,但它们位于数组中
$\u POST['arguments']

data: {
    functionname: 'insertLocation', 
    position: position,
    result: result
}
$_POST['arguments'][0] == position
$_POST['arguments'][1] == result
如果希望能够执行
$result=$\u POST[“result”]
,则必须将AJAX请求中的参数更改为

...
data: {functionname: 'insertLocation', position: position, result: result}, 
...

我认为这是因为您在数组“arguments”中发送变量“position”和“result”。我错了吗?总的来说,答案不错,所以请解释他们使用的代码。这个代码会做什么?