我有以下代码。如果我硬编码链接它正确运行。如果我提醒链接我会逐一提醒所有不同的短网址。但是,当我尝试将这些值中的每一个传递给ajax调用时,代码会中断。任何帮助都将受到赞赏:
$(document).ready(function(){
//find all the shornened urls
$.each($('.shortenedUrl'), function(index, value) {
inline_stats_lookup(value);
});
function inline_stats_lookup(theLink)
{
alert(theLink);
//var theLink = "http://goo.gl/b9N1k";
$.post('http://qrcodes.weddingdecorationss.com/tracking/inline_statistics', {url: theLink}, function(response, status, xhr) {
if (status == 'error')
{
var msg = "Sorry but there was an error: ";
$("#results").html(msg + xhr.status + " " + xhr.statusText);
}
else
{
//$('.clicksAllTime').empty().append('<p>' + response[0].analytics.allTime.shortUrlClicks + '</p>');
//$('.clicksToday').empty().append('<p>' + response[0].analytics.day.shortUrlClicks + '</p>');
}
}, "json");
}
});
答案 0 :(得分:2)
问题是你循环遍历所有锚点并传递value
。 value
是HTMLAnchorElement
。
锚点的.toString()
方法会返回锚点的href
值,这就是alert
打印网址的原因。
您必须通过value.href
而不是value
才能使代码生效:
$('.shortenedUrl').each(function() { // <-- index, value not used:
inline_stats_lookup(this.href); // this === value for elements
});