Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Laravel上使用Ajax?_Javascript_Ajax_Laravel - Fatal编程技术网

Javascript 如何在Laravel上使用Ajax?

Javascript 如何在Laravel上使用Ajax?,javascript,ajax,laravel,Javascript,Ajax,Laravel,我编写了一个JavaScript代码来使用Ajax处理我的请求。因此,我的代码定义如下: if(document.getElementById('category')){ document.getElementById('category').addEventListener('click', () => { var query = document.getElementById('category').value; if(query !== '')

我编写了一个JavaScript代码来使用Ajax处理我的请求。因此,我的代码定义如下:

if(document.getElementById('category')){
    document.getElementById('category').addEventListener('click', () => {
        var query = document.getElementById('category').value;
        if(query !== ''){
            var httpRequest = new XMLHttpRequest();
            httpRequest.open('GET', "http://127.0.0.1:8000/category/fetch");
            httpRequest.send();
            console.log(httpRequest);
        }
    });
}
其中我的
类别
来自我的表格:


我的get请求指的是我的函数:

public function fetch(Request $request){
    dd("You hit me: ".$request);
    $category = Category::where('name', 'like', $request['category'])->first();
    return response()->json($category);
}
但是回到我的JavaScript,为什么我的get请求没有命中我的fetch函数?在浏览器上手动执行时,它会给我结果,我的控制台也会给我这种结果:

response: "<script> Sfdump = window.Sfdump || (function (doc)"
响应:“Sfdump=window.Sfdump | |(函数(doc)”
如下图所示。 好问题

为了提供一点上下文,Laravel是在另一个PHP框架Symfony的基础上构建的,并共享许多包。其中一个包叫做
var dumper
,它在Laravel中启用了
dd
helper函数

看看这个直接取自
dd
helper包的示例:

//...
<script>
Sfdump = window.Sfdump || (function (doc) {
//...
/。。。
Sfdump=window.Sfdump | |(函数(doc){
//...

看起来很熟悉吗?如果你查看了你所说的在浏览器中手动工作的页面的源代码,你会看到完全相同的代码。结果表明,你在AJAX请求中看到的内容毕竟是正确的——只是未经浏览器转换的原始HTML内容


如果您想输出非dd内容(如中所示,不使用脚本标记和其他花哨的内容),请尝试使用PHP的内置方法(仅用于调试!),或者只使用Laravel的内置
response()->json
方法

希望有帮助