Я хочу отправить данные на laravel и получить ответ от строки с сервера, но я получил
500 Внутренняя ошибка сервера
Что не так с моим кодом?
Дооснащение:
@POST("/saveInfo")
Call<String> sendInfo(
@Query("name") String name,
@Query("family") String family,
@Query("age") String age
во фрагменте:
public void saveInfo(String name,String family,String age){
Call<String> call = planApi.sendInfo(name,family,age);
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, retrofit2.Response<String> response) {
if (response.isSuccessful()) {
try {
if(response.body()=="success")
Toast.makeText(view.getContext(), "saved successfully ", Toast.LENGTH_SHORT).show();
else
Toast.makeText(view.getContext(), "saved failed!", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}else{
Log.e(TAG," Response Error:"+String.valueOf(response.code())+response.message());
Toast.makeText(view.getContext(), response.message(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e(TAG," Response Error :"+t.getMessage());
Toast.makeText(view.getContext(), "conection failed!", Toast.LENGTH_SHORT).show();
}
});
}
Маршрутизатор:
Route::post('/saveInfo','BoController@saveInfo');
и функция:
public function saveInfo(Request $request)
{
$student = new Student();
$student->name = $request->name;
$student->family = $request->family;
$student->age= $request->age;
if($student->save())
echo "success";
else
echo "failed!";
}
проблема решена!Если в файле kernel.php должна быть строка «\ App \ Http \ Middleware \ VerifyCsrfToken :: class», используйте «@FormUrlEncoded» и @Field для модификации также в типе функции php «echo (json_encode (« success / failed »))»