我想通过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);
}
});
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(或空字符串?)。同时查询数据库也可以,但没有插入任何值。
我是网络编程的初学者,所以我提前为恶臭等道歉。
答案 0 :(得分:2)
是的,$_POST
已您的变量,但它们位于数组$_POST['arguments']
中:
$_POST['arguments'][0] == position
$_POST['arguments'][1] == result
如果您希望能够$result = $_POST["result"]
,您必须将AJAX请求中的参数更改为
...
data: {functionname: 'insertLocation', position: position, result: result},
...
答案 1 :(得分:0)
data: {
functionname: 'insertLocation',
position: position,
result: result
}