我正在学习Angular,我有一个请求对象,它是这样的形式:
var data = {
destinationProjectId: proj.Id,
items: $scope.selections // this is an array
}
美元范围。选择将返回实际的JavaScript对象。端点期望条目数组只具有选择项的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控制台,我得到:
[Exception... "JavaScript component does not have a method named: "available"'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"
可能发生了什么?
[例外……当调用方法:[nsIInputStream::available]时,JavaScript组件没有一个名为:"available"的方法" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"
这是某些firefox插件的错误。不是你的代码。nsIInputStream
是firefox为插件提供的API。(参考:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIInputStream)
也许更新你的firebug或检查其他插件。