Javascript JQuery Ajax使用不存在的url参数返回成功
因此,我在我的Laravel的一个观点中有这样的代码: (没有“不存在url”这样的url,我只是编出来的) Laravel的路线是: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')}” 谢谢大家
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”