PHP代码不在ajax页面中工作?

时间:2015-05-29 13:12:58

标签: php jquery ajax wordpress

我试图学习使用AJAX,但我已完全陷入某个地方。

所以我有以下代码:

<label>View as:</label> <a href ="#" onClick="return false" onmousedown="javascript:swapContent('con1');">Test 1</a> / <a href ="#" onClick="return false" onmousedown="javascript:swapContent('con2');">Test 2</a><br/>
<div id = "myDiv">asdasd</div>

以下.js脚本:

function swapContent(cv) {
$("#myDiv").html("Put animated .gif here").show();
var url = templateDir;
$.post(url.concat("/profileajax.php"), {contentVar: cv}, function(data) {
    $("#myDiv").html(data).show();
})
}

以下profileajax.php页面:

<?php
$contentVar = $_POST['contentVar'];
if($contentVar == "con1") {
    echo get_bloginfo('template_directory');
}
else {
    echo "Test";
}
?>

但是,当我点击第一个链接时,我收到以下错误:Fatal error: Call to undefined function get_bloginfo() in D:\Webdesign\XAMPP\htdocs\wordpress\wp-content\themes\globestate\profileajax.php on line 4

我怎样才能让它发挥作用? (顺便说一句,我使用的是Wordpress)

2 个答案:

答案 0 :(得分:1)

为PHP添加get_bloginfo()函数的定义 -

<?php
function get_bloginfo($dir) {
    // just for test we'll return the argument passed in
    return $dir;
}

$contentVar = $_POST['contentVar'];

if($contentVar == "con1") {
    echo get_bloginfo('template_directory');
} else {
    echo "Test";
}

?>

由于您的AJAX似乎正常工作,您应该看到&#34; template_directory&#34;回到页面。

答案 1 :(得分:0)

我解决了这个问题!我所做的是在php页面上包含这一行: require_once("../../../wp-load.php");