我在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'的值。从上面这一行。我在其他地方使用过这些行,而没有使用成功函数调用。
有人可以帮助我做我应该做些什么来防止这种重定向发生吗?
答案 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>
,这显然不是您想要的。