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