Ajax发布响应包含html

时间:2018-11-13 20:10:40

标签: javascript ajax post

我想用ajax将一些数据发布到php。然后我要从PHP的响应。

我的响应如我所愿地显示,但随后是整个页面的HTML。

我正在使用Laravel。该项目已被删除,因此该帖子似乎有效。

这是javascript,我真的不想仅仅因为ajax问题而使用jquery。

        var request = new XMLHttpRequest();
        request.open('POST', window.location.pathname + "/delete", true);
        request.setRequestHeader("Content-Type", "application/json");
        request.setRequestHeader("X-CSRF-TOKEN", document.head.querySelector("[name=csrf-token]").content );
        request.dataType = 'text';

        var data = JSON.stringify({"itemid": itemid});

        request.send(data);

        request.onreadystatechange = function() {
            if (request.readyState === 4) {

                console.log(request.responseText);

                var response = JSON.parse(request.responseText);

                if (request.status === 200 && response.status === 'OK') {
                    console.log('successful');
                } else {
                    console.log('failed');
                }
            }
        }

php代码以

结尾

return "I only want this return value"

以某种方式答复文本

I only want this return value<link rel='stylesheet' type='text/css' property='stylesheet' href=等等等(整个页面html)

1 个答案:

答案 0 :(得分:0)

终于找到了!

是laravel调试栏https://github.com/barryvdh/laravel-debugbar

我添加了以下路线,并且有效。

Route::get('/_debugbar/assets/stylesheets', [
'as' => 'debugbar-css',
'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@css']);

Route::get('/_debugbar/assets/javascript', [
'as' => 'debugbar-js',
'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@js']);