API页面返回标头500,但工作正常

时间:2017-09-26 作者:user3477026

我创建了一个简单的API虚拟页面:

add_action( \'init\', \'wpse9870_init_external\' );    
function wpse9870_init_external()    
{    
    global $wp_rewrite;    
    $plugin_url = plugins_url( \'api.php\', __FILE__ );    
    $plugin_url = substr( $plugin_url, strlen( home_url() ) + 1 );          
    $wp_rewrite->add_external_rule( \'api.php$\', $plugin_url );    
}    
add_action( \'init\', \'wpse9870_init_internal\' );
function wpse9870_init_internal()
{
    add_rewrite_rule( \'api.php$\', \'index.php?wpse9870_api=1\', \'top\' );
}
add_filter( \'query_vars\', \'wpse9870_query_vars\' );
function wpse9870_query_vars( $query_vars )
{
    $query_vars[] = \'wpse9870_api\';
    return $query_vars;
}
add_action( \'parse_request\', \'wpse9870_parse_request\' );
function wpse9870_parse_request( &$wp )
{
    if ( array_key_exists( \'wpse9870_api\', $wp->query_vars ) ) {
        include \'api.php\';
        exit();
    }
    return;
}
现在代码:

if(strpos($_SERVER[\'REQUEST_URI\'], "index.php?wpse9870_api=1"))    
{
   header("HTTP/1.1 200 OK");
   echo "v1p"; 
}
页面在简单测试中工作并返回“v1p”,但标题为500,如果使用以下内容发表文章:

$.ajax({
            type: \'POST\',
            url: \'/index.php?wpse9870_api=1\',
返回错误时间:

错误:函数(响应){alert(JSON.stringify(响应));});

{"readyState":4,"responseText":"v1p","status":500,"statusText":"Internal Server Error"}
你能帮帮我吗?在更改服务器之前,现在我使用Apache 2.4.27和cPanel之前的LAMP。

1 个回复
SO网友:user3477026

我有解算器

die;
在echo之后。

if(strpos($_SERVER[\'REQUEST_URI\'], "index.php?wpse9870_api=1"))    
{
   header("HTTP/1.1 200 OK");
   echo "v1p"; 
   die;
}
收割台现在是200;

结束

相关推荐

授权插件在wp_cron上调用Google Analytics v4 API

我正在构建一个插件,需要访问管理员的分析帐户,并使用WP-Cron 机械装置我已经看过了instructions for authorizing 这个analytics API version 4. 我的计划是让管理员做OAuth2 authorization with Google offline access. 用户将验证他们的帐户,并获取一个令牌,该令牌可以复制粘贴到插件中,以便访问API。然后插件可以根据需要刷新令牌以获得新的令牌。我选择了Web服务器流作为本用例中最合适的流。我一直在看Googl