Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
';目的地分区&x27;在简单jqueryajax调用中消失_Jquery_Ajax - Fatal编程技术网

';目的地分区&x27;在简单jqueryajax调用中消失

';目的地分区&x27;在简单jqueryajax调用中消失,jquery,ajax,Jquery,Ajax,编辑:重要提示:遇到此问题的任何人都不太可能遇到与我完全相同的问题-请查看下面我的答案,以了解我非常模糊的解决方案。然而,也有一些有用的回答可能适用于其他人的情况。如果你有类似的问题,祝你好运 我有一个非常简单的jQuery AJAX调用: $("#cart").load("/woops/store/cartsummary"); 这将返回(通过ASP.NET MVC操作)一些非常简单的HTML: <DIV>something</DIV> 我想我只是在做一些愚蠢的事

编辑:重要提示:遇到此问题的任何人都不太可能遇到与我完全相同的问题-请查看下面我的答案,以了解我非常模糊的解决方案。然而,也有一些有用的回答可能适用于其他人的情况。如果你有类似的问题,祝你好运


我有一个非常简单的jQuery AJAX调用:

$("#cart").load("/woops/store/cartsummary"); 
这将返回(通过ASP.NET MVC操作)一些非常简单的HTML:

<DIV>something</DIV>
我想我只是在做一些愚蠢的事情——但我正在从MicrosoftAjax切换到jQuery,我想我只是误解了一些基本的小事情。我的潜水艇去哪了

(顺便说一句:“woops”是一个虚拟目录,用于确保我的站点在开发过程中没有根相对链接)

试试看

$.get("/woops/store/cartsummary", {}, function(data) {
    $("#cart").html(data); 
});
$.get("/woops/store/cartsummary", {}, function(data) {
    $("#cart").html(data); 
});
也许试试这个

不替换div。它将数据粘贴在div的后面

你可以试试

replaceWith( content ) 
相反


检查div的ID,确保将正确的ID传递给jquery

哇!那太疯狂了

事实证明,问题是因为我在包含的JS文件中包含了以下代码:

 jQuery.fn._init = jQuery.fn.init
 jQuery.fn.init = function(selector, context) {
     if (typeof selector === 'string') {
         return jQuery.fn._init(selector, context).data('selector', selector);
     }
     return jQuery.fn._init(selector, context);
 };
我正在使用jquery1.2.6

上面的代码来自这篇文章。我认为作者已经重写了它,但是它因为一些奇怪的原因打破了这个

DIV消失了,但是我被抛出了,因为replaceWith()起作用了,append()也起作用了。我想其他一些方法可能会被这个绊倒,但这两种方法都没有


谢谢大家的快速建议。我相信他们会在某些方面帮助别人。

我忘了提我也试过了。同样的事情。我认为我的页面中的其他地方有些东西弄乱了——但不是jQuery。这是页面上唯一的jQuery可能还有另一个具有该ID的元素?或者通过ajax加载的代码中有该id?请稍候。这是有效的——但这不是“html(…)”应该做的吗?很可能是缓存的问题,我想说的是,当你更改代码时,它会在缓存中重新加载页面,并且工作了。我做了各种各样的小更改。缓存现在不是问题。尝试执行以下操作:alert(document.getElementById(“cart”).innerHTML);在ajax调用之前和之后的代码中分别输入一次,以确保ID正确,并查看ajax调用之后的innerHTML输出call@click-向上投票——好的想法。它确实给了我一个预期的HTML字符串(当前为“Test”),顺便说一句:$(“#cart”).load(“/woops/store/cartsummmary”);代码是直接从jQuery in action book(p226)中获取的,其含义是它做了我希望它做的事情.load请求之后它给出了什么?我只是将页面完全剥离到了绝对最小值。它现在与.load(…)一起工作。只是想弄清楚什么东西坏了it@clickupvote-谢谢你的快速提示。最终的答案非常模糊——请看我的答案。我只是觉得我的jQuery很糟糕,但事实并非如此
append
replaceWith( content ) 
 jQuery.fn._init = jQuery.fn.init
 jQuery.fn.init = function(selector, context) {
     if (typeof selector === 'string') {
         return jQuery.fn._init(selector, context).data('selector', selector);
     }
     return jQuery.fn._init(selector, context);
 };