我正在学习Angular,我有一个这种形式的请求对象:
var data = {
destinationProjectId: proj.Id,
items: $scope.selections // this is an array
}
$ scope.selections让我回到实际的javascript对象。端点期望items数组仅具有选择的Id。我知道我可以这样做:
var newItems = [];
$scope.selections.forEach((obj) => {
newItems.push(parseInt(obj.Id));
});
并使用$ http发送。但我想做的是:
$http({ method: "POST", url: url, data: $scope.selections,
transformRequest: (data, headers) => {
var payload = [];
var s = <any>data.items;
s.forEach((o) => {
payload.push(parseInt(o.Id));
});
return payload;
});
在firebug控制台中,我得到:
[例外...&#34; JavaScript组件没有名为的方法:&#34;可用&#34;&#39; JavaScript组件没有名为的方法:&#34;可用&#34; &#39;调用方法时:[nsIInputStream :: available]&#34; nsresult:&#34; 0x80570030(NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)&#34;
对于发生了什么的任何想法?感谢。
答案 0 :(得分:0)
[Exception ...“JavaScript组件没有名为的方法:”available“'JavaScript组件没有名为的方法:”available“'调用方法时:[nsIInputStream :: available]”nsresult:“0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)“
这是一些firefox插件中的错误。不是你的代码。 nsIInputStream
是firefox for plugins的API。 (参考:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIInputStream)
也许更新你的萤火虫或检查其他插件。