我正在尝试将一些数据从HTML页面发送到PHP页面。
我确保dataString实际上是使用控制台日志发送文本。
显示为pid=12345
我的AJAX是:
$.ajax({
type: "POST",
url: 'Task2.php',
data: {pid:res[1]},
success: function(data) {
//alert(data);
$("#container").html(data);
console.log( data );
}
});
我的PHP是:
$temp = $_POST['pid'];
即使我手动转到myserver/Task2.php?pid=12345
,PHP也没有把它拿起来。
答案 0 :(得分:1)
我想你可能正在寻找这样的东西......
var dataString = res[1];
console.log( 'pid=' + dataString );
$.ajax({
type: "POST",
url: 'Task2.php',
data: { pid: dataString },
success: function(data) {
alert(data);
}
});
通过在ajax调用中指定数据:{pid:dataString},告诉它将dataString值作为名为" pid"的表单元素进行POST。您可以使用$ _POST [' pid'];
来接收PHP端修改强>
这是一个完整的,有效的例子。所有自包含在一个PHP文件中。应该帮助你解决它。在顶部使用isset($ _ GET [' testing'])的原因是因为我也在ajax调用中使用相同的文件。只是fyi ...
<?php
if (isset($_GET['testing'])) {
if (isset($_POST['pid'])) {
echo $_POST['pid'];
} else {
echo 'not set';
}
}
else
{
?>
<html>
<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>
<a href="javascript:void(0);" onclick="test()">test</a>
<script type="text/javascript">
function test() {
var dataString = "pid=testing123";
$.ajax({
type: "POST",
url: "test.php?testing",
data: dataString,
success: function(result) {
alert(result);
}
});
}
</script>
</html>
<?php
}
?>
答案 1 :(得分:0)
var data = {pid: res[1]}
$.ajax({
type: "POST",
url: 'Task2.php',
data: data,
success: function(data) {
alert(data);
}
});
使用$_POST
参数(?pid = 12345)时,您无法阅读$_GET
答案 2 :(得分:0)
数据应该是哈希:
$.ajax({
type: "POST",
url: 'Task2.php',
data: {pid:res[1]},,
success: function(data) {
alert(data);
}
});
在PHP中不要将$ _GET与$ _POST混合使用。 http://example.com/a.php?q=1 =&gt; $ _GET ['q'],但上面的ajax代码会将它发送到$ _POST ['pid']