我有一些Ajax进行跨源资源调用
$("#inductive1").click(function (event) {
$.post(
"https://www.mysite.co.uk/folder/tests/Inductive/Test1/index.phtml",
function (data) {
$('.stage2').html(data);
}
);
});
在index.phtml
文件中,我有一些调用exam.xml
index.phtml内的脚本
( function($, undefined) {
$(function() {
var test = new Test({
testName: "Inductive Test 1",
dataURL : "/getresultshtml.php",
sendEmailURL: "/sendresultsbyemail.php",
contentFolder : "./",
solutionURL: "../../../content/f/id/10/",
userID: 0,
courseItemID: 25,
XMLFile: "exam.xml",
isStandalone: false
});
test.start();
});
}(jQuery));
但是,尝试从其他服务器调用xml文件
EG
https://server1.com/exam.xml
应该是
https://myserver.com/exam.xml
我已尝试将JS更改为直接路径,如
XMLFile: "htttps:/myserver.com/exam.xml"
但它被视为
https://server1.com/myserver.com/exam.xml
如何更改javascript以便将根网址更改为myserver.com
而不是server1.com
答案 0 :(得分:2)
看起来您正在使用的某个插件正在更改文档的基本网址, 你可以尝试将它放在index.phtml的开头
<base href="https://myserver.com">
如果这不起作用,您可能需要在ajax调用之前通过JavaScript动态更改基本属性
document.write("<base href='http://myserver.com/'>");
答案 1 :(得分:0)
我不确定Test
将如何使用XMLFile
。但根据jquery.ajax documentation,传递url
参数中的完整网址(使用协议)应该足够了。
也许test.start()
正在做一些操作?
我发现的唯一其他可能的问题是,您使用额外的t
和缺少的/
XMLFile: "htttps:/myserver.com/exam.xml"
尝试使用
XMLFile: "https://myserver.com/exam.xml"