500(服务不可用(带消息))

时间:2015-04-16 13:56:05

标签: php jquery twitter-bootstrap drupal-7

我在发送jquery post之后尝试调用db_update(),所以我需要包含drupal_bootstrap来使用Drupal函数,这是我的代码:

MyModuleAPI.php

if (!defined('DRUPAL_ROOT')) {
    define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']. 'mysite');
    chdir(DRUPAL_ROOT);
}
include_once(DRUPAL_ROOT.'/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

function set_server($host,$port){

        db_update('server')...
                    ->execute();
     ...
}

$query = isset($_POST['query']) ? $_POST['query']: null;
$params = isset($_POST['params']) ? $_POST['params']: null;

switch ($query)
{   case "set_server" :
       ...
        set_server($host,$port);
        break;

}

MyModuleAjax.js

function ajax_set_server(serverHost,serverport){
    var pathUrl="path/to/includes/MyModuleAPI.php";

        jQuery.ajax({
            type: "POST",
            url: pathUrl,
            data: {query: "set_server", params:[serverHost,serverport]},
            success: function (response) {                
                console.log("set server resp "+response);
                return false;
            }
        });
}

我的问题是在发送请求时:

POST http://localhost/path/to/includes/MyModuleAPI.php 500 (Service unavailable (with message))

我不知道问题是来自包括引导程序还是在那里已经合法。请帮忙。

1 个答案:

答案 0 :(得分:3)

根据我的经验,尝试将数据发送到php文件时出现500错误意味着该文件中的php代码有问题。

虽然我无法确定错误是什么,但我确定可以通过developers tools向您展示如何查看php错误。选择network选项卡以查看所有请求(您的ajax请求应该出现在其中,目标php文件名)。现在选择该请求,在response preview下你应该看到导致上述500错误的php错误。

在您修复该错误后,您的请求应该有效(200代码 - 成功)。