Angularjs 在angular js中的DELETE ajax请求中发送JSON时出错,尽管它在chrome postman中工作正常
我正在尝试在angular js中的DELETE ajax请求中发送JSON。它给出了500个内部服务器错误,尽管它在postman中运行良好。 我的代码 其中delete_task_url为levigo.com/public/dashboard/api/v1/checklist/4/tasks JSON 错误:“为foreach()提供的参数无效”Angularjs 在angular js中的DELETE ajax请求中发送JSON时出错,尽管它在chrome postman中工作正常,angularjs,json,ajax,angularjs-http,Angularjs,Json,Ajax,Angularjs Http,我正在尝试在angular js中的DELETE ajax请求中发送JSON。它给出了500个内部服务器错误,尽管它在postman中运行良好。 我的代码 其中delete_task_url为levigo.com/public/dashboard/api/v1/checklist/4/tasks JSON 错误:“为foreach()提供的参数无效” 有一个微妙的区别。在Postmantasks的屏幕截图中是一个对象数组,但在Angular发送的JSON的屏幕截图中,tasks的子属性为0。
有一个微妙的区别。在Postman
tasks
的屏幕截图中是一个对象数组,但在Angular发送的JSON的屏幕截图中,tasks
的子属性为0
。你真的需要{data:{data}}
吗?或者你可以只使用{data:data}
?@lex:JSON附加的屏幕截图只是一个解析视图。。。else源代码视图是{“data”:{“tasks”:[{“task_name”:“newtask 1”,“id”:26}]}
。我也尝试过使用{data:data}
但是这会从JSON中删除数据,然后创建的JSON是{“tasks”:[{“task_name”:“newtask 1”,“id”:26}]}
你可能需要调用JSON.stringify,因为它看起来你的数组正在转换为一个对象。问题是内容类型
。我把它改成了“$http”({method:“DELETE”,url:DELETE_task_url,data:{data},headers:{'Content Type':'application/json'})`
var data = $scope.removeTaskList;
var delete_task_url = base_url + "checklist/"+id+"/tasks";
$http
.delete(delete_task_url, {data:{data}})
.success(function(data) {
httpService.get(get_checklist_url,"")
.then(function (result) {
if (result.status == 200) {
console.log("task deleted");
} else {
toast('some error occured');
console.log("some error occured");
}
})
});