【发布时间】:2014-02-14 18:20:28
【问题描述】:
我有一个执行 ajax 请求的 Marionette 视图。当请求在 Firefox 下正常工作时,Chrome 会忽略该请求。
Chrome 检查器中的网络选项卡未显示 Ajax 调用是针对服务器的。如果我将 ajax url 放入 Chrome,它会返回有效的 JSON。 Chrome 控制台没有显示任何 Javascript 错误。
请帮忙。
define([
'views/base/composite_view',
'views/product_item_view',
'myapp',
'jquery-ui',
'models/products',
'hbs!template/product_search'
], function(CompositeView, ProductItemView, MyApp, $, Products, template) {
'use strict';
var ProductsView = CompositeView.extend({
template: template,
itemView: ProductItemView,
className: 'products',
container: '#product_search',
itemViewContainer: 'tbody',
animationDuration: 0,
events: {
"click #btnSearchProduct": "search",
"keypress #productSearchTerm": "keypressed"
},
keypressed: function(event) {
var code = event.which;
if (code == 13) {
event.preventDefault();
this.search();
}
},
search: function() {
var searchTerm = this.$('#productSearchTerm').val().trim();
var productsView = this;
var url = MyApp.options.baseUrl+'/jdeproductsearch?searchTerm='+searchTerm;
$.getJSON(url, function(productData) {
productsView.collection = new Products(productData);
productsView.render();
});
},
onRender: function() {
var productsView = this;
this.$('#productResultsTable tr').draggable({
helper: 'clone',
revert: 'invalid',
start: function (event, ui) {
$(this).css('opacity', '.5');
},
stop: function (event, ui) {
$(this).css('opacity', '1');
}
})
.css('cursor', 'pointer');
}
});
return ProductsView;
});
【问题讨论】:
-
您是否确认已到达执行 ajax 请求的代码?
-
是的。我在该行上方放置了一个警报,它会显示输出
-
下一步,比较
url和window.location,是协议、子域、域还是端口不同?
标签: ajax google-chrome jquery marionette