jQuery / Ajax成功方法实现

时间:2014-03-24 16:36:17

标签: javascript jquery ajax

我在DOM上准备了以下jQuery函数:

$.ajax({
  url : '/weather/',
  type: 'GET',
  //dataType : "json",
  success : function(data) {
    alert("success");
    var jsondata = Object.keys(data);
    alert(jsondata);
    location = "testing";

    alert(data.weather);
    weather = data.weather;
    $("location").text(location);
  }
  }).setTimeout(executeQuery, 500);

ajax调用返回一个正确的json,我用它来改变我的html的值。但是,当此行执行时,

$("location").text(location);

页面会被重定向到一个网址,该网址会附加' location'的值。从上面这一行。我在其他地方使用过这些行,而没有使用成功函数调用。

有人可以帮助我做我应该做些什么来防止这种重定向发生吗?

2 个答案:

答案 0 :(得分:4)

首先,您的类或ID选择器无效。应该是:

$(".location").text(location);

$("#location").text(location);

取决于您的html标记是否分别使用" location"的类或ID。

此外,在这种特殊情况下,你缺少单词var:

var location = "testing";

导致浏览器采用顶级窗口范围。 window.location是在设置值时重定向的属性。

答案 1 :(得分:2)

不,问题出在您使用的变量名称上。

不要使用location,因为如果您将任何字符串分配给location,它会重定向到给定的字符串。

location="http://nettpals.com";会重定向到我的网站。

使用任何其他变量名称,例如loc

另外,如果您要定位一个类,请在其前面添加.,如果您的目标是id,请在其前面添加#

$('.location')$('#location')相似。

当您使用$('location')时,您尝试匹配位置元素<location></location>,这显然不是您想要的。