Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 JQuery Ajax使用不存在的url参数返回成功_Javascript_Php_Jquery_Ajax_Laravel - Fatal编程技术网

Javascript JQuery Ajax使用不存在的url参数返回成功

Javascript JQuery Ajax使用不存在的url参数返回成功,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,因此,我在我的Laravel的一个观点中有这样的代码: (没有“不存在url”这样的url,我只是编出来的) Laravel的路线是: Route::get('recipe/{id}', 'RecipesController@show'); 这就好像ajax请求使用了另一个url,即当前视图中的url 编辑2 我现在觉得自己很愚蠢。正如charlietfl所说,它使用的是url“recipe/nonexistent”。所以我所要做的就是使用:url:“{{url('route')}” 谢谢大家

因此,我在我的Laravel的一个观点中有这样的代码: (没有“不存在url”这样的url,我只是编出来的)

Laravel的路线是:

Route::get('recipe/{id}', 'RecipesController@show');
这就好像ajax请求使用了另一个url,即当前视图中的url

编辑2

我现在觉得自己很愚蠢。正如charlietfl所说,它使用的是url“recipe/nonexistent”。所以我所要做的就是使用:url:“{{url('route')}”


谢谢大家的帮助:)

这可能意味着Laravel正在返回某种类型的网页,即使没有相关数据,返回某些内容也将被视为成功。调试此功能的一个好方法是向数据发出警报,如果返回对象,则向data.responseText发出警报

alert(data.responseText); 
它还将有助于导航您正在创建的任何虚假URL,以查看Laravel在这些URL上返回的内容。 编辑

尝试指定json作为返回类型,我相信它默认为文本

$.ajax({
  method: "GET",
  url: "nonexistenturl",
  dataType: 'json',
  data: { msg: 'hi' },
  success: function(data){
    alert('success');
  }
})

这可能意味着,Laravel正在返回某种类型的网页,即使没有相关数据,它返回的内容也将被视为成功。调试此功能的一个好方法是向数据发出警报,如果返回对象,则向data.responseText发出警报

alert(data.responseText); 
它还将有助于导航您正在创建的任何虚假URL,以查看Laravel在这些URL上返回的内容。 编辑

尝试指定json作为返回类型,我相信它默认为文本

$.ajax({
  method: "GET",
  url: "nonexistenturl",
  dataType: 'json',
  data: { msg: 'hi' },
  success: function(data){
    alert('success');
  }
})

现在,我在另一个视图中尝试了相同的代码,我得到了一个错误,但我还不知道为什么。我建议检查您的浏览器控制台以查看实际的URL。例如,当我在JSFIDLE上尝试您的代码时,URL是
http://fiddle.jshell.net/_display/nonexistenturl?msg=hi
,有效且“成功”。另一方面,使用
http://nonexistenturl
不会触发“成功”。请在浏览器开发工具网络选项卡中检查实际响应。听起来您的框架仍然返回该路由的200状态,而不是@charlietfl建议的404状态,确保调用该不存在的URL时不会返回响应代码200而不是404。另一个原因可能是,如果您在
配方
目录中,则调用该URL时,URL可能是
http://yourdomain.com/recipe/nonexistenturl
。如果不验证服务器上的url参数,它可能看起来像路由中的有效路由。现在,我在另一个视图中尝试了相同的代码,但得到了一个必须的错误,但我还不知道原因。我建议检查浏览器控制台以查看实际的url。例如,当我在JSFIDLE上尝试您的代码时,URL是
http://fiddle.jshell.net/_display/nonexistenturl?msg=hi
,有效且“成功”。另一方面,使用
http://nonexistenturl
不会触发“成功”。请在浏览器开发工具网络选项卡中检查实际响应。听起来您的框架仍然返回该路由的200状态,而不是@charlietfl建议的404状态,确保调用该不存在的URL时不会返回响应代码200而不是404。另一个原因可能是,如果您在
配方
目录中,则调用该URL时,URL可能是
http://yourdomain.com/recipe/nonexistenturl
。如果不验证服务器上的url参数,它可能会在路由中显示为有效路由。它将返回我从中发送请求的视图的html代码。这只是从一个特定的视图,其他视图返回一个错误。知道为什么吗?感谢您的回复。请尝试更改ajax代码,以便它期望返回json。默认情况下,我相信它会接受任何类型的文本作为成功。将此添加到ajax中。数据类型:“json”返回我发送请求的视图的html代码。这只是从一个特定的视图,其他视图返回一个错误。知道为什么吗?感谢您的回复。请尝试更改ajax代码,以便它期望返回json。默认情况下,我相信它会接受任何类型的文本作为成功。将此添加到ajax中。数据类型:“json”