gpt4 book ai didi

AngularJs $http.post 未在 IE 中发布

转载 作者:行者123 更新时间:2023-12-02 10:20:12 24 4
gpt4 key购买 nike

这段代码:

        close: function (id) {
var defered = $q.defer();

$http.post('api/TopicSelection/Close', id).
success(function (data) {
defered.resolve(data);
}).
error(function (data, status, headers, config) {
defered.reject(data.message);
});

return defered.promise;
},

在 Chrome 中完美运行。然而在 IE 9 中,错误回调会被直接调用。 data、status、headers 均为空,根据 Fiddler/IE 网络流量,未发送请求。

这有什么问题吗?

提示

经过一番调查,当我简单地将 id 作为消息正文中的字符串传递时,IE 9 和 AngularJS 似乎无法处理这种情况。当我将其更改为:

$http.post('api/TopicSelection/Close', {id: id})

然后 POST 与消息正文一起发送:

{"id":4611}

但是,我不想序列化对象。我想要一个简单的请求消息正文作为字符串:

4611

最佳答案

问题已解决。 id 必须是字符串:

$http.post('api/TopicSelection/Close', id.toString())

Angular 引用文献中的注释:

data – {string|Object} – Data to be sent as the request message data.

唯一烦人的事情是没有 toString 的版本在浏览器之间不连贯......

关于AngularJs $http.post 未在 IE 中发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20396495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com