Sammy.js无法在Internet Explorer中获取该位置

时间:2013-03-21 13:51:51

标签: sammy.js

在执行以下内容时是否有一些解释:

location.hash = "#/";

它在firefox(19.0.2)中运行良好,但在IE(10.0.92)中运行不正确。

在Firefox中它返回“主页”,而在IE中它什么也没做。也没有显示错误。

此代码来自此功能:

self.addStoreItem = function () {
            var data = appFsMvc.utility.serializeObject( $("#StoreItemForm") );
            $.ajax({
                url: "/api/StoreItems",
                data: JSON.stringify( data ),
                type: "POST",
                dataType: "json",
                contentType: "application/json"
            })
            .done(function () {
                toastr.success( "You have successfully created a new StoreItem!", "Success!" );
                self.StoreItems.push(data);
                location.hash = "#/";
            })
            .fail(function () {
                toastr.error( "There was an error creating your new StoreItem", "<sad face>" );
            });
        };

以及管理sammy.js的代码:

appFsMvc.App = function( StoreItemsViewModel ) {
        return $.sammy( "#content", function () {
            var self = this;

            this.use( Sammy.Cache );
            this.StoreItemViewModel = StoreItemsViewModel;

            this.renderTemplate = function ( html ) {
                self.$element().html( html );
                ko.applyBindings( self.StoreItemViewModel );
            };

            // display all StoreItems
            this.get( "#/", function() {
                this.render("/Templates/StoreItemDetail.htm", {}, function ( html ) {
                    self.renderTemplate( html );
                });
            });

            // display the create StoreItems view
            this.get( "#/create", function() {
                this.render("/Templates/StoreItemCreate.htm", {}, function ( html ) {
                    self.renderTemplate( html );
                });
            });
        });
    };

我曾尝试使用firbuglite,但后者在我尝试在我的网站上使用时会崩溃。 IE的开发人员工具不会显示任何错误。

[编辑]

找到了如何使用getfirebug.com/firebuglite#Debug代替稳定版本启用firebuglite:

控制台正在给我这些提示:

    单击CreateNewItem时
  

[Thu Mar 21 15:38:11 UTC + 0100 2013] #content runRoute get /#/ create

     

GET /Templates/StoreItemCreate.htm 200 OK 5ms

     

POST / api / StoreItems 200 OK 7ms

而在Firefox中做同样的事情让我:

  

[Thu Mar 21 2013 15:40:41 GMT + 0100] #content runRoute get /#/ create

     

GET http://myLocalHost:9501/Templates/StoreItemCreate.htm 200 OK 1ms

     

POST http://myLocalHost:9501/api/StoreItems 200 OK 27ms

     

[Thu Mar 21 2013 15:40:46 GMT + 0100] #content runRoute get /#/

我可以在IE中看到地址栏中的网址在发布表单后提供了正确的网址http://localhost:9501/#/create,然后是http://localhost:9501/#/。 [/编辑]

0 个答案:

没有答案