Ionic Project から Laravel Dingo API に対して角度のある POST リクエストを作成しようとしています。POSTMAN で POST リクエストを行うと新しいレコードが正常に作成されますが、Angularjs で行うと GET リクエストの応答が返されます。
これは、応答 POSTMAN が Jquery のコードに対して提案するものです。
var settings = {
"async": true,
"crossDomain": true,
"url": "http://app.extremenazarene.org/api/contacts",
"method": "POST",
"headers": {
"authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlzcyI6Imh0dHA6XC9cL2FwcC5leHRyZW1lbmF6YXJlbmUub3JnXC9hcGlcL2xvZ2luIiwiaWF0IjoxNDY0NjM1NDQwLCJleHAiOjE0NjQ2MzkwNDAsIm5iZiI6MTQ2NDYzNTQ0MCwianRpIjoiYmZjMTc3YzdhODk5OGE1Y2Q1NWRiYjIzOTU4YzQ5YzMifQ.fdiGmKy9ipPnvdLuapFFe8Rz6nD7ty-gkzfWq8ySO_U",
"cache-control": "no-cache",
"postman-token": "c022a35b-bbdd-2f77-f7b9-2802340dd0bb",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
"fname": "sarkinda"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
私のangularjsリクエストは
storeContact: function(token, data) {
var deferred = $q.defer();
var promise = deferred.promise;
var settings = {
method: "POST",
url: "/api/api/contacts/",
headers: {
'Content-Type' : 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' +token
},
data: data
};
console.log(settings);
$http(settings).then(function mySuccess(response) {
deferred.resolve(response.data);
}, function myError(response){
deferred.reject(response.statusText);
});
promise.success = function(fn) {
promise.then(fn);
return promise;
};
promise.error = function(fn) {
promise.then(null, fn);
return promise;
};
return promise;
},
angularJS コードは成功応答を返し、GET 要求に対して同じ URL からデータを返します。POSTMAN は呼び出しを正常に実行して新しいレコードを作成できるため、Laravel コードはすべて正しいと思います。angularJS コードに何か問題があるに違いありません。
次のようにフォーマットされたangular jsを介してデータを送信しようとしたことにも注意してください。
data: {'fname':'testname'}