Javascript jqueryajax赢得';t错误
当我调用上面的函数PullAEM(path,finish)时,无论我在path参数中输入什么值,ajax调用都会调用success函数,如果路径中有垃圾,比如说它是空的,那么调用就会成功(即使它应该失败)。当它失败时,结果包含当前页面的内容,而不是路径所指向的内容。有人知道我做错了什么吗 谢谢大家这么快回答。我不确定问题出在哪里,但在我把它全部清理干净并贴在这里之后,它工作得很好!不过,这可能是你们俩说的话Javascript jqueryajax赢得';t错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我调用上面的函数PullAEM(path,finish)时,无论我在path参数中输入什么值,ajax调用都会调用success函数,如果路径中有垃圾,比如说它是空的,那么调用就会成功(即使它应该失败)。当它失败时,结果包含当前页面的内容,而不是路径所指向的内容。有人知道我做错了什么吗 谢谢大家这么快回答。我不确定问题出在哪里,但在我把它全部清理干净并贴在这里之后,它工作得很好!不过,这可能是你们俩说的话 这工作得很好……在浏览器中调试时,AJAX调用发出的HTTP请求是什么?我怀疑试图调用空
这工作得很好……在浏览器中调试时,AJAX调用发出的HTTP请求是什么?我怀疑试图调用空URL会导致浏览器请求当前相对URL。。。。而且,一旦您找到了该URL(即使它是垃圾),当您在浏览器中访问它时,该URL会得到什么响应?这可能是一个服务器端问题,应该是错误得到了“很好”的处理。基本上,您的两个都是对的。我发现这种行为非常奇怪。我发现,如果我能在地址栏/窗口中键入一些会给我带来错误的东西,比如400或404,那么这就是我在路径参数/参数中需要的。谢谢你给我指路!
function moveIt(result, finish) {
$result = $(result);
$result.find('#main-content-wrapper').appendTo('#aem-content');
$result.appendTo('#scriptDiv');
if (finish !== undefined) {
finish();
}
}
function isAuthSpace(path) {
if (path.toLowerCase().indexOf("shop/") > 0) return true;
return false;
}
function finishInjecting() {
ProcessInjection("div.dyna-prd-lnk", parseDivTag, pumpDivTag, "Shop.aspx/GetLinks");
}
function AEMLoadError(isAuth) {
var fileToLoad = "unAuth.html";
if (isAuth) {
fileToLoad = "auth.html";
}
$("#aem-content").load(fileToLoad, finishInjecting);
}
function breakAEMLoadPath(path) {
return BreakTheAEMLoadPath === true ? "2" : path;
}
function PullAEM(path, finish) {
var isAuth = isAuthSpace(path);
var ppath = breakAEMLoadPath(path);
$.ajax({
url: ppath,
success: function (result) {
moveIt(result, finish);
},
error: function () {
AEMLoadError(isAuth);
},
dataType: "html"
});
}