获取此错误:XMLHttpRequest无法加载javascript:newDoc()
我正在使用此脚本打开已经存在的自定义子域。自从我开始在联系人表单中使用ajax以来,它就不起作用了 错误:(jquery.js:4 XMLHttpRequest无法加载javascript:newDoc()。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源。) 有谁能帮我解决这个问题吗 剧本获取此错误:XMLHttpRequest无法加载javascript:newDoc(),javascript,html,ajax,google-chrome,Javascript,Html,Ajax,Google Chrome,我正在使用此脚本打开已经存在的自定义子域。自从我开始在联系人表单中使用ajax以来,它就不起作用了 错误:(jquery.js:4 XMLHttpRequest无法加载javascript:newDoc()。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源。) 有谁能帮我解决这个问题吗 剧本 <script> function newDoc() { window.location.href = "http://"
<script>
function newDoc() {
window.location.href = "http://" + $("#domain").val() + ".mywebsite.com";
}</script>
函数newDoc(){
window.location.href=“http:/”+$(“#域”).val()+”.mywebsite.com”;
}
HTML
输入您公司的MyWebsite域
.mywebsite.com
继续
使用此
function newDoc() {
return "http://" + $("#domain").val() + ".mywebsite.com";
}
发生这种情况的原因是因为您使用的是“javascript:”URI,而AJAX处理将其作为目标 下面是一个例子: 这也将失败。看起来表单真正想要的行为是在提交时执行JavaScript函数,而根本不使用AJAX 这最好由“提交”事件处理程序来处理,例如(使用jQuery): 如果您确实希望在他们单击提交时发布到该URL,则可以在提交处理程序中更改操作值。下面是一个例子:
谢谢你的解释!我真的很感激。
function newDoc() {
return "http://" + $("#domain").val() + ".mywebsite.com";
}
function foo() {
return 'https://api.ipify.org/';
}
var xhr = new XMLHttpRequest();
xhr.open('GET', 'javascript:foo()');
xhr.onload = function () {
console.log('Loaded');
}
xhr.onerror = function () {
console.log('Failed');
}
xhr.send();
$('#login-form').on('submit', function () {
newDoc();
return false;
};
<form action="javascript:alert(1);" method="post">
<input type="text" name="testing" id="q" />
<button type="submit">Make it happen</button>
</form>
$('form').on('submit', function () {
this.action = '/echo/js/?js=' + encodeURIComponent(JSON.stringify($('#q').val()));
});
$('#domain').on('change', function () {
$('#login-form').prop('action', 'http://' + $("#domain").val() + '.mywebsite.com');
});