$scope.updateCart = function() {
item = $scope.productData;
此代碼段返回IE 11的功能,而不是對象。IE 11的角度範圍回報函數,而不是對象
使用https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js
上一頁標題:IE 11的jquery '參數不可選' 錯誤
以下代碼:
dt = $.param({
shopid: shop_id,
mtd: method,
item: item
});
拋出以下錯誤:
TypeError: Argument not optional
at add (https://code.jquery.com/jquery-1.9.1.js:7340:4)
at buildParams (https://code.jquery.com/jquery-1.9.1.js:7392:3)
at jQuery.param (https://code.jquery.com/jquery-1.9.1.js:7360:4)
at $scope.updateBACart (http://127.0.0.1:6636/js/baCartNg.js?v=1478430971:104:3)
at fn (Function code:2:216)
at expensiveCheckFn (http://code.angularjs.org/1.5.5/angular.js:15485:11)
at callback (http://code.angularjs.org/1.5.5/angular.js:25018:17)
at Scope.prototype.$eval (http://code.angularjs.org/1.5.5/angular.js:17229:9)
at Scope.prototype.$apply (http://code.angularjs.org/1.5.5/angular.js:17329:13)
at Anonymous function (http://code.angularjs.org/1.5.5/angular.js:25023:17)
錯誤或者扔在IE 11而不是在鉻
根據https://docs.angularjs.org/api/ng/service/ $ httpParamSerializerJQLike
我更改代碼:
dt = $httpParamSerializerJQLike({
shopid: shop_id,
mtd: method,
item: item
});
現在的代碼不會引發錯誤,但請求是
item: %0Afunction+item()+%7B%0A++++%5Bnative+code%5D%0A%7D%0A
mtd: add
shopid: 1
而不是項目數據。
從去年片斷的輸出,它看起來像你的'item'變量實際持有一個*函數*。也許你只是忘了調用函數,例如像'var item = elements.item'應該是'var item = elements.item(0)'?嘗試在該行前添加一個'console.log(item)',看看在瀏覽器的控制檯中記錄了什麼。 –
我注意到,這是我從NG範圍得到的值 - 這在IE 11中是錯誤的(vs chrome) –
奇怪的是IE和Chrome會有所不同。我認爲你需要向我們展示更多的代碼,這樣其他人才能更好地理解你的變量發生了什麼。 –