在控制台中没有响应jquery ajax请求

时间:2015-01-25 01:37:00

标签: javascript php jquery ajax codeigniter

enter image description here

我正在对codeigniter php函数进行以下jquery ajax调用:

    $.ajax({
                        type:"POST",
                        url: "AjaxUpdate/getHtml",
                        data:{ u : 'http://stackoverflow.com/' },
                        dataType: 'json',
                        success: function(data) {
                            console.log(data);

                        },

                       error: function(jqXHR, textStatus, errorThrown) {
                                console.log('error');
                                console.log(jqXHR,textStatus, errorThrown);
                        }
                    });

请求的php函数是:

public function getHtml() {

        $url = $_POST['u'];
        $result = file_get_contents($url);
        return json_encode($result);
}

我该如何解决这个问题?

编辑:控制台中的错误显示:

error
reply_detail:4667 Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…} "parsererror" SyntaxError: Unexpected end of input {stack: (...), message: "Unexpected end of input"}message: "Unexpected end of input"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: Error

2 个答案:

答案 0 :(得分:1)

有些事情可能正在发生。

我不了解PHP,但是getHtml真的返回了JSON吗?

可能无法解析返回的内容。 JQuery $ .ajax dataType属性中还有其他选项。

它不会执行success函数,因为它可能在某些时候失败。尝试添加error函数并记录数据。 JQuery documentation非常有用且丰富。

另外,尝试更改为data: JSON.stringify({ u : 'http://stackoverflow.com/' }),至少在ASP.NET中我必须每次都这样做。

答案 1 :(得分:0)

您确定要在文件中调用该函数吗? 您需要通过调用来调用该函数。

getHtml();