我有一个php函数返回一个字符串值,它将放入html文件。
function getDirectionInfo($routeNumber) {
//some code here
$dirinfo = "<p> some text </p>";
return $dirinfo;
}
if (isset($_POST['getDirectionInfo'])) {
getDirectionInfo($_POST['getDirectionInfo']);
}
所以在jQuery中,我有一个以下函数
$(".onebtn").click(function(){
$("#directioninfo").empty();
var routeNumber = $(this).text();
$.ajax({
url: "./systemView_Function.php",
type: "POST",
data: {"getDirectionInfo": routeNumber},
success: function(data) {
console.log("HIHIHIHI");
$("#directioninfo").append(data);
}
});
})
现在console.log打印“HIHIHIHIHI”,但jQuery不会将数据附加到html。任何人都知道如何从jQuery调用时获取php函数的返回值?
答案 0 :(得分:2)
而不是返回使用:
echo json_encode($dirinfo);
die;
将dataType
字段添加到设置为$.ajax()
的{{1}}函数参数中也是一个好主意,以确保成功函数中的数据将被正确解析
答案 1 :(得分:1)
您只需使用echo
使用var routeNumber = $(this).val();
获取按钮值
<强> PHP:强>
<?php
function getDirectionInfo($routeNumber) {
//some code here
$dirinfo = "<p> routeNumber". $routeNumber." </p>";
return $dirinfo;
}
if (isset($_POST['getDirectionInfo'])) {
echo getDirectionInfo($_POST['getDirectionInfo']);
}else{
echo "not set";
}
AJAX&amp; HTML 强>
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$(".onebtn").click(function(){
$("#directioninfo").empty();
var routeNumber = $(this).val();
console.log("routeNumber = " + routeNumber);
$.ajax({
url: "systemView_Function.php",
type: "POST",
data: {"getDirectionInfo": routeNumber},
success: function(data) {
console.log("data = " + data);
$("#directioninfo").append(data);
}
});
})
});
</script>
</head>
<body>
<div id="directioninfo"></div>
<input type="button" value="12346" class="onebtn" />
</body>
</html>
答案 2 :(得分:0)
谢谢大家。我刚刚发现我在jQuery中犯了一个非常愚蠢的错误。我应该使用var routeNumber = parseInt($(this).text());
而不是var routeNumber = $(this).text();
所以下面的代码用来从jQuery调用时获取php函数的返回值。
在php中
function getDirectionInfo($routeNumber) {
//some code here
$dirinfo = "<p> some text </p>";
echo json_encode($dirinfo);
}
if (isset($_POST['getDirectionInfo'])) {
getDirectionInfo($_POST['getDirectionInfo']);
}
$(".onebtn").click(function(){
$("#directioninfo").empty();
var routeNumber = parseInt($(this).text());
$.ajax({
url: "./systemView_Function.php",
type: "POST",
data: {"getDirectionInfo": routeNumber},
dataType: "JSON",
success: function(data) {
$("#directioninfo").append(data);
}
});
})