1

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内の行 " " をコメント化する必要があります。" " を使用し、php 関数型 " "でのレトロフィットにも使用してください。@FormUrlEncoded@Fieldecho(json_encode("success/failed"))

4

3 に答える 3