2016-12-28 1 views
0

잘하면이 질문에 너무 아마추어 소리하지 않습니다! 이것을 얻는 방법에 대한 조언을 찾고 있습니다.Laravel API - 이오닉 제출 양식

저는 Ionic 앱을 만들고 Laravel을 API로 사용하고 있습니다. 나는 이것들을 연결하는데 문제가 없으며 많은 요청을했다. 내 질문은 적절한 방법으로 큰 텍스트 블록을 API에 가장 잘 제출할 수있는 방법과 함께 제공됩니다.

예를 들어, 나는 이와 같은 경로를 가지고 :

$scope.saveNewTask = function() { 
    $http.post(API_URL+'task/add/'+$scope.data.taskdescription) 
     .success(function() { 
      //Success Function 
     }) 
     .error(function(err) { 
      //Error Function 
     }); 
}; 

이 작업 설명, 그러나 ... 내가 좋아하는 것 :

내 이온 컨트롤러에서 다음
Route::post('/api/v1/task/add/{taskdescription}',function($taskdescription) { 
    DB::insert('INSERT INTO tasks(task) VALUES (?)', [$taskdescription]); 
}); 

, 나는이가 html 문자와 % 기호를 입력 할 수 있도록하려면//하지만 % 또는 /와 같은 것을 추가 할 때마다 $ http.post URL이 엉망이되어 제대로 작동하지 않습니다. 누구나 내가 "탈출"하거나 이와 유사한 API 호출을 통해 복잡하고 잠재적으로 매우 긴 데이터 조각을 게시 할 수있는 방법을 알고 있습니까?

내가 알지 못하는이 데이터를 보내는 더 좋은 방법이있을 것입니다.

답변

0

당신은 이온에 데이터를 전송하는 게시물 본문을 사용할 수 있습니다

$http.post(API_URL+'task/add', {taskDescription: $scope.data.taskdescription}) 
    .success(function() { 
     //Success Function 
    }) 
    .error(function(err) { 
     //Error Function 
    }); 

Laravel에서 사용자가 데이터에 액세스 할 수 Request 개체를 사용할 수 있습니다

Route::post('/api/v1/task/add', function(Request $request)  { 
    DB::table('tasks')->insert(array('task' => $request->input('taskDescription'))); 
}); 

사이드 노트 : 그것은 좋은 this answer은 GET과 POST 요청의 차이점과 두 경우 모두 값 전달 방법에 대해 읽습니다.

+0

좋습니다 ... 작동하는 것처럼 보입니다. 나는 그것을 지금 시험해보고, 당신에게 알려줄 것이다. –

+0

그래서 저는 이오닉 설정과 내 Laravel API에서 모두 코드를 사용했습니다. 나는 오류를받지 않고 제출할 수는 있지만 내 DB에는 실제 게시물이 없습니다. 나는 $ scope.data.taskdescription의 나의 성공 함수에서 console.log를 만들었고, 그것은 완벽하게 정상이다. 그 밖의 무엇이 문제인지 당신은 알고 있습니까? –

+0

처음 시도했을 때 content-type에 대한 오류가 발생했습니다 ... 그래서 이것을 내 Laravel API에 추가했습니다. header ('Access-Control-Allow-Headers : Authorization, Content-Type'); 나는 다시 오류를 얻지 못했습니다. –