大佬教程收集整理的这篇文章主要介绍了javascript – 非常简单AngularJS $http POST结果’400(错误请求)’和’无效HTTP状态代码400′,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[EnableCors(origins: "http://simpleapiearl.azurewebsites.net",headers: "*",methods: "*")] public class EnvelopesController : ApiController { // GET: api/Envelopes public IEnumerable<String> Get() { return new String[] { "value1","value2" }; } // POST: api/Envelopes public String Post([FromBody]Envelope env) { return "rval: " + env + " (and my addition to env)"; } }
我创建了一个simple plunk来调用这些方法.在我的AngularJS代码中,我正在做两个非常简单的$http调用. GET工作正常.然而,POST总是返回一个“400(Bad request)”,紧接着在我的WebStorm控制台中,“XMLhttprequestion无法加载… http状态代码400无效”.
任何和所有的建议赞赏!
编辑!!
您好,感谢您的快速反应.我只是意识到我忘了添加一些非常相关的细节.
我的POST方法的参数是我称之为Envelope对象,它包含两个属性:lisTingId(int)和Description(String).当我添加urlencoded的Content-Type头文件,并将“{”lisTingId“:1234,”Description“:”some description“}’作为POST数据传递时,我的POST方法中的服务器上的env参数为NULL(即,似乎无法解析我提供的JSON).对不起,这从原来的帖子中被省略.
How do I POST urlencoded form data with $http in AngularJS?
这是从你的修改的plnkr.您的代码缺少将JSON转换为编码的网址.
http://plnkr.co/edit/4aeEDz73qgHSfOv1sBgn?p=preview
$http({ method: 'POST',url: 'http://simpleApiEarl.azurewebsites.net/api/envelopes',data: env,headers: {'Content-Type': 'application/x-www-form-urlencoded'},transformrequest: function(obj) { var str = []; for(var p in obj) str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); return str.join("&"); } }).
以上是大佬教程为你收集整理的javascript – 非常简单AngularJS $http POST结果’400(错误请求)’和’无效HTTP状态代码400′全部内容,希望文章能够帮你解决javascript – 非常简单AngularJS $http POST结果’400(错误请求)’和’无效HTTP状态代码400′所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。