所以我的工作流是onClick一个列表元素,我的JS启动一个PHP AJAX请求来构建一个卡对象。 $ content是主题数据的卡片(类似于KickStarter)。我想要做的就是通过' topic_id'每个主题 - 实例,以便我可以在成功函数中使用它,然后启动另一个AJAX请求(但是对话语)。
尝试2),在Web检查器中查看其值时,我得到一个null。
AJAX请求(我想要获取的变量的console.log()在Web控制台中返回一个空行):
$.post( "/wp-content/mu-plugins/topic-search.php", { topicID: $topicFilter, filterBy: $sortByFilter },
function( data ) {
console.log(topic_id);
data = data.trim();
if ( data !== "" ) {
//get the participants data for avatars
$.getJSON('http://ask.example.com/t/' + topic_id + '.json', function() {
topic-search.php的结尾,它回显了构建的卡片。脚本应该返回topic_id变量以在成功函数中使用。
}
//One attempt: echo $content; //
//Another attempt: echo json_encode(array('data' => $content, 'topic_id' => $row['topicid']));//
}
?>
<script>
var topic_id = "<?php echo $row['topicid'] ?>";
</script>
答案 0 :(得分:0)
试试这个:
在php中
$inputJson = file_get_contents('php://input');
$input = json_decode($inputJson, true); //Convert JSON into array
在javascript中
var $url = '/wp-content/mu-plugins/topic-search.php';
var $json = JSON.stringify({topicID: $topicFilter, filterBy: $sortByFilter});
$.ajax({
url: $url,
type: "POST",
data: $json,
dataType: "json",
success: function(data){//you will have the body of the response in data
//do something
},
error: function(data){
//do something else
}
});
编辑:
这会向$url
请求$json
数据。您将在服务器端的$input
上将其作为阵列提供。然后,您可以在服务器上准备一个带有json正文的响应,您将在成功函数上将其作为data
变量。