【问题标题】:NetworkError: 500 Internal Server Error in Ajax $post requestNetworkError:Ajax $post 请求中的 500 内部服务器错误
【发布时间】:2013-08-14 02:53:25
【问题描述】:

我正在尝试创建一个聊天框并在 Codeigniter 中执行此 AJAX 帖子,但由于某种原因,我收到服务器 500 内部服务器错误并且在使用 firebug 时根本没有响应?有人可以帮忙吗?

这是我的 Javascript 代码

$(document).ready(function(){

    $("a#submit").click(function(){

        var chat_message_content = $("input#chat").val();

        if(chat_message_content == ""){

            return false;
        }

        $.post(base_url + "index.php/abovetheblues/add_chat_messages", {
            chat_message_content : chat_message_content, 
            user_id : user_id
        }, 
        function(data){

            alert(data);
        },"json");


        return false;
    });
    return false;

});

这是我的控制器

function add_chat_messages() {
        // Grab the $chat_message_content, $user_id
        $user_id = $this->input->post($this->session->userdata("user_id"));
        $chat_message_content = $this->input->post('chat_message_content');

        $this->abt_db->add_chat_message($user_id, $chat_message_content);
    }

这是我的模特

function add_chat_message($user_id, $chat_message_content) {

    $query_str = "INSERT INTO chat_message(user_id, chat_message_content) VALUES (?,?,?)";
    $this->db->query($query_str, array($user_id, $chat_message_content));
}

还有我的查看页面

<script type="text/javascript">

    var user_id = "<?php echo $this->session->userdata("user_id"); ?>";



</script>

<!--loads the header-->
<?php $this->load->view('abt-header'); ?>
<!--this is the login page-->

<div data-role="page" id="Abt-chat" data-add-back-btn="true">
    <div data-role="header" data-position="fixed">
        <h1>Peer Chat</h1>

    </div>
    <div data-role="content">

        <div data-role="fieldcontain">
            <div id="chat_viewport"></div>

            <p>
                <label>Input Chat: </label>
                <input name="chat" id="chat" type="text" value=""/>

            </p>

            <p>
                <?php echo anchor('#', 'Send Chat', array('title' => 'Send Chat', 'id' => 'submit')); ?>
            </p>  

        </div> 
        <?php echo form_close(); ?>

    </div>

</div>

【问题讨论】:

  • 需要您的 PHP 代码。如果是 500 错误,则说明您的 php 脚本有问题。
  • 使用请求参数在浏览器中手动打开您的php页面以获取错误消息。
  • 如果收到 500 错误,请检查服务器的错误日志。您在浏览器中看到的内容故意非常模糊。

标签: php javascript ajax codeigniter


【解决方案1】:

您将用户 ID 作为 user_id 传递。但是在函数中检索它时,你做错了。如下更改。

$user_id = $this->input->post('user_id');

而且 -> 需要在 query() 之前出现

$this->db->query($query_str, array($user_id, $chat_message_content));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2015-09-20
    • 2020-07-29
    • 1970-01-01
    相关资源
    最近更新 更多