jQuery无法检索数据

时间:2012-02-25 14:19:34

标签: javascript ajax wordpress

我有一个非常简单的脚本:

$(function() {

    var url = theme_directory + '/func/api.php';

    $.get( url, function(data) {
       alert("Data Loaded: " + data);
     });

});

api.php看起来像这样:

<?php
echo('hello');
define('WP_USE_THEMES', false);
require_once( dirname( __FILE__ ) . '/../../../../wp-blog-header.php' );

这很有效。但是当我把下面的出口像这样:

<?php
define('WP_USE_THEMES', false);
require_once( dirname( __FILE__ ) . '/../../../../wp-blog-header.php' );
echo('hello');

我浏览到api.php,它显示我'你好'然而当我使用javascript它没有告诉我警报。再次向上移动你好,它再次起作用。它让我很困惑。


<?php
echo ' ';
define('WP_USE_THEMES', false);
require_once( dirname( __FILE__ ) . '/../../../../wp-blog-header.php' );
print_r($wp);

现在javascript将显示$ wp的内容...但是,删除echo ' ';并且不会触发javascript警报。


它与WordPress永久链接有关。当我将其关闭时,它可以工作,当我打开它时它不会。

2 个答案:

答案 0 :(得分:1)

我相信WordPress的“花哨”永久链接使用Apache的mod_rewrite。如果Apache返回HTTP 301以重定向浏览器,则jQuery将不会遵循该重定向。您可能需要查看this Stack Overflow question以解决此问题。

答案 1 :(得分:0)

问题可能出在require_once( dirname( __FILE__ ) . '/../../../../wp-blog-header.php'); ,找不到那条路径

但是如果你只是想看到结果字符串使用load()。

$('#input').load('api.php');