如何在Jquery smoothState中删除默认值?

时间:2018-03-09 18:55:32

标签: javascript jquery cors smoothstate.js

我目前正在设计一个页面并使用jquery.smoothstate.js。

根据: https://github.com/miguel-perez/smoothState.js?files=1

有一种方法可以删除默认值,但我无法找到它。

因为这个js。我无法运行

<form id="form" action="https://gc.synxis.com/rez.aspx?Hotel=0000&Chain=00000&template=RBE&shell=RBE" method="POST" target="_self">

不断发送给我:

阻止跨源请求:同源策略禁止读取远程资源

如果我禁用这个js,一切似乎都运行正常,但我需要这个js来运行我的动画。

2 个答案:

答案 0 :(得分:0)

编辑:您是否尝试将特定的班级列表添加到smoothState.js黑名单?

  

像这样初始化了smoothState.js:

blacklist: '#form'

由于同源策略而发生错误:

https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

导致此错误消息的原因是:阻止跨源请求:同源策略禁止读取远程资源

一些信息:JSONP是一种在Web浏览器中运行的JavaScript程序中使用的通信技术,用于从不同域中的服务器请求数据,这是典型Web浏览器禁止的,因为同源策略。

JSONP利用了浏览器不对脚本标记强制实施同源策略的事实。请注意,要使JSONP正常工作,服务器必须知道如何使用JSONP格式的结果进行回复。 JSONP不适用于JSON格式的结果。

链接:查看wikipedia JSONP

如何解决此问题?我更喜欢使用jQuery添加dataType : 'jsonp'。这将解决请求错误。

一些jQuery代码:

   $.ajax({
        type: "GET",
        url: 'https://gc.synxis.com/rez.aspx?Hotel=0000&Chain=00000&template=RBE&shell=RBE',
        async:true,
        dataType : 'jsonp',   //add this data type
        crossDomain:true,
        success: function(data, status, xhr) {
            alert(xhr);
        }
    });

答案 1 :(得分:0)

Just found the answer:

https://github.com/miguel-perez/smoothState.js/issues/311

I just had to add the blacklist class to my form, to prevent smoothState to run on it!