JQuery/Javascript HTTP POST在IE或Firefox中不起作用
我正在努力让我的HTTP帖子在Firefox和IE中工作 它目前在Chrome中工作得非常完美 这是我目前的代码:JQuery/Javascript HTTP POST在IE或Firefox中不起作用,javascript,jquery,html,internet-explorer,post,Javascript,Jquery,Html,Internet Explorer,Post,我正在努力让我的HTTP帖子在Firefox和IE中工作 它目前在Chrome中工作得非常完美 这是我目前的代码: $(function () { $('.scPracticeTest').on('click', function (e) { var guid = jQuery.Guid.New(); var testcode = $(this).attr('testcode'); $.support.co
$(function () {
$('.scPracticeTest').on('click', function (e) {
var guid = jQuery.Guid.New();
var testcode = $(this).attr('testcode');
$.support.cors = true;
$.ajax({
type : 'POST',
url: 'https://sc-practice.content.saville.int/sites/api/Integration/SavilleLegacy/CreateCandidate.ashx',
contentType: 'application/x-www-form-urlencoded',
data: {
clientid: "4D102B05-8949-4B04-A87A-59AC5A88FC65",
username: "practiceintegration",
password: "practiceintegration",
givenname: guid,
familyname: guid,
culturecode: "en-GB"},
success: function (data) {
candidate = $(data).find("accessid").text();
window.location.replace("https://sc-practice.content.saville.int/sites/api/Integration/SavilleLegacy/Assessment.ashx?clientid=4D102B05-8949-4B04-A87A-59AC5A88FC65&username=practiceintegration&password=practiceintegration&accessid=" + candidate + "&testcode=" + testcode + "&returnurl=https://www.savilleconsulting.com/products/test-aptitude-preparation-guides-and-advice/");
},
error: function (data) {
alert(data.statusText);
}
})
})
});
我还链接了Jquery Guid-
jQuery.extend({
Guid: {
Set: function (val) {
var value;
if (arguments.length == 1) {
if (this.IsValid(arguments[0])) {
value = arguments[0];
} else {
value = this.Empty();
}
}
$(this).data("value", value);
return value;
},
Empty: function () {
return "00000000-0000-0000-0000-000000000000";
},
IsEmpty: function (gid) {
return gid == this.Empty() || typeof (gid) == 'undefined' || gid == null || gid == '';
},
IsValid: function (value) {
rGx = new RegExp("\\b(?:[A-F0-9]{8})(?:-[A-F0-9]{4}){3}-(?:[A-F0-9]{12})\\b");
return rGx.exec(value) != null;
},
New: function () {
if (arguments.length == 1 && this.IsValid(arguments[0])) {
$(this).data("value", arguments[0]);
value = arguments[0];
return value;
}
var res = [], hv;
var rgx = new RegExp("[2345]");
for (var i = 0; i < 8; i++) {
hv = (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
if (rgx.exec(i.toString()) != null) {
if (i == 3) { hv = "6" + hv.substr(1, 3); }
res.push("-");
}
res.push(hv.toUpperCase());
}
value = res.join('');
$(this).data("value", value);
return value;
},
Value: function () {
if ($(this).data("value")) {
return $(this).data("value");
}
var val = this.New();
$(this).data("value", val);
return val;
}
}
})();`
jQuery.extend({
Guid:{
设置:功能(val){
var值;
if(arguments.length==1){
if(this.IsValid(参数[0])){
值=参数[0];
}否则{
value=this.Empty();
}
}
$(此)。数据(“值”,值);
返回值;
},
空:函数(){
返回“00000000-0000-0000-0000-000000000000”;
},
IsEmpty:函数(gid){
返回gid==this.Empty();
},
IsValid:函数(值){
rGx=newregexp(\\b(?[A-F0-9]{8})(?:-[A-F0-9]{4}){3}-(?:[A-F0-9]{12})\\b”);
返回rGx.exec(值)!=null;
},
新:函数(){
if(arguments.length==1&&this.IsValid(arguments[0])){
$(this).data(“value”,参数[0]);
值=参数[0];
返回值;
}
var res=[],hv;
var rgx=新的RegExp(“[2345]”);
对于(变量i=0;i<8;i++){
hv=((1+Math.random())*0x10000)| 0.toString(16).子字符串(1);
if(rgx.exec(i.toString())!=null){
如果(i==3){hv=“6”+hv.substr(1,3);}
res.push(“-”);
}
res.push(hv.toUpperCase());
}
值=res.join(“”);
$(此)。数据(“值”,值);
返回值;
},
值:函数(){
if($(this).data(“值”)){
返回$(此).data(“值”);
}
var val=this.New();
$(此).data(“值”,val);
返回val;
}
}
})();`
任何想法都将是巨大的帮助 浏览器抛出了哪些错误??这一定是一个跨域的问题,我认为它最终应该会起作用,但这有点棘手…如果您更改为$.get,它会起作用吗?可能会将您的
url
从绝对路径更改为相对路径?在firefox上,标题和帖子似乎都正确通过,我得到的只是一个带有“error”的弹出窗口,但它不会继续转到url。AJAX请求中的url
。