jQuery嵌套调用返回服务器错误500

时间:2011-10-14 14:24:45

标签: jquery

我不确定为什么会这样,但第二个jQuery调用给出了500错误。那是因为不允许嵌套调用吗?或者是其他东西?谢谢!以下是整个代码:

<script type="text/javascript" >
$(function()
{
    $('#add_comment').bind('submit',function()
    //$("input[type=submit]").click(function()
    {
        var problem_id = $("#problem_id").val();
        var problem_comment = $("#problem_comment").val();  

        var dataString = 'problem_id='+ problem_id + '&problem_comment=' + problem_comment;

        if( problem_id == '' || problem_comment == '' )
        {   
            $('.comment_success').fadeOut(200).hide();
            $('.comment_error').fadeOut(200).show();
        }
        else
        {   alert ("2");
            // Now check if the person is logged in.
            $.ajax({
                    type: "POST",
                    url: "/auth/check_login.php",
                    dataType: "json",
                    success: function(data)
                    {
                        alert ("3");
                        // Now add the comment!
                        $.ajax({
                            type: "POST",
                            url: "/problems/add_problem_comment_ajax.php",
                            dataType: "json",
                            data: dataString ,
                            success: function(data)
                            {
                                $('.add_message_success').fadeIn(200).show();
                                $('.add_message_error').fadeOut(200).hide();

                                // Here can update the right side of the screen with the newly entered information
                                alert ("success");


                            },
                            error: function(data)
                            {
                                alert ("error");
                            }
                        });
                    },
                    error: function(json)
                    {
                        alert ("error 2");
                        $("#loginpopup").dialog();

                        return false;           
                    }
            });         
        }

        return false;
    });
});
</script>

2 个答案:

答案 0 :(得分:1)

在第一次AJAX CALL尝试添加 async:false,

$.ajax({
                type: "POST",
                async:false,
                url: "/auth/check_login.php",
                dataType: "json",
                success: function(data)

尝试使用FireBug(控制台标签)查看POST和每个AJAX调用的RETURN(你应该看到第二个调用返回错误500,查看帖子和该调用对搜索有用的东西的响应。)

正如Andy E.所说,服务器上的错误,语法,超出范围或PHP脚本上的某些内容。

答案 1 :(得分:1)

这个脚本应该是一个错误:“/problems/add_problem_comment_ajax.php”。您应该检查错误日志以查看详细错误。如果您使用的是unix / linux / mac,则错误日志可能位于以下位置:/var/log/httpd-error.log/var/log/apache2/error_log。如果是Windows,您应该能够在事件查看器中查看它。