Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取此错误:XMLHttpRequest无法加载javascript:newDoc()_Javascript_Html_Ajax_Google Chrome - Fatal编程技术网

获取此错误:XMLHttpRequest无法加载javascript:newDoc()

获取此错误: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://"

我正在使用此脚本打开已经存在的自定义子域。自从我开始在联系人表单中使用ajax以来,它就不起作用了

错误:(jquery.js:4 XMLHttpRequest无法加载javascript:newDoc()。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源。)

有谁能帮我解决这个问题吗

剧本

<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');
});