我在使用哪个URL链接到Laravel5中的php脚本时遇到了问题,我目前正在localhost运行。我在我的控制器中创建了一个函数来处理请求。这是功能:
# Select multiple targeting nodes at once
sel_raw = '|'.join([
"//div[@class='article']/h2",
"//div[@class='article']/h3",
# Whatever else you want to select here
])
for sel in sel.xpath(sel_raw):
# Extract the texts for later use
texts = sel.xpath('self::*//text()').extract()
if sel.xpath('self::h2'):
# A h2 element. Do something with texts
pass
elif sel.xpath('self::h3'):
# A h3 element. Do something with texts
pass
我还在route.php中创建了一条路线。
public function mobile_validator(Request $request) {
$method = $request->method();
if($method == 'POST') {
$username = $request->username;
$password = $request->password;
$user = DB::table('users')->get();
foreach($user as $i) {
if($username == $i->email and $password == $i->password) {
return 'success';
}
else {
return 'failure';
}
}
}
这是我在android中的网址:
Route::get('/mobilevalidator', 'AuthController@mobile_validator');
现在当我在我的应用程序中登录时,它显示错误com.android.volley.timeouterror
在Laravel中定义php脚本时URL是否正确?
答案 0 :(得分:0)
在你的路线中你定义了一个
Route::get
这意味着此路由正在侦听GET方法。在控制器中指定
$method = $request->method();
if($method == 'POST') {
这意味着你的控制器实际上只返回你有POST的东西,因为你的路由调用你的控制器只听GET
您可以完全删除方法的检查。只有在将路径映射到控制器方法时,才能调用控制器方法。如果您还想支持POST,只需添加
Route::post( ... )
一点提示:
尝试使用PostMan或任何其他RestClient测试您的路线,然后再在您的应用中使用它们。另外,不要忘记删除laravel中的Web中间件 - 否则您还需要将csrf令牌添加到您的请求中。