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

How to remove defaults in Jquery smoothState?

我目前正在设计页面并使用 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 来 运行 我的动画。

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

Initialized smoothState.js like this:

blacklist: '#form'

由于 same-origin 策略而发生错误:

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

什么会导致此错误消息:Cross-Origin 请求被阻止:同源策略不允许读取远程资源


一些信息: JSONP 是一种通信技术,用于 JavaScript 程序 运行 在网络浏览器中从不同域的服务器请求数据,由于 same-origin 政策,典型的网络浏览器禁止某些内容。

JSONP 利用了浏览器不对脚本标签执行 same-origin 策略这一事实。请注意,要使 JSONP 正常工作,服务器必须知道如何使用 JSONP-formatted 结果进行回复。 JSONP 不适用于 JSON-formatted 结果。

链接:看看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);
        }
    });

刚刚找到答案:

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

我只需要将黑名单 class 添加到我的表单中,以防止 smoothState 到 运行 就可以了!