2015-05-29 2 views
0

Я пытаюсь научиться использовать AJAX, но я где-то совсем застрял.Код Php не работает на странице 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)

+0

Вам необходимо определить эту функцию в вашем файле PHP. В противном случае AJAX работает * отлично *. –

ответ

1

Добавьте определение для get_bloginfo() функции к вашему PHP -

<?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 работает вы должны увидеть «template_directory» echo'd к стр.

+0

То, что я пытаюсь сделать, это сделать страницу profileajax.php распознать все функции wordpress, а не только определенную функцию get_bloginfo. – Radu

+0

. Вы не включаете какие-либо функции wordpress в этот файл PHP. –

+0

Ну, вот что я хочу делать, но я не знаю, как это сделать. (Извините, я новичок) – Radu

0

Я исправил проблему! То, что я сделал, это включить эту строку поверх страницы php: require_once("../../../wp-load.php");

Смежные вопросы