我在这里使用这段代码来浏览一个我正在愚弄的网页:
$(function() {
console.log('Here');
$.ajax({
type: 'POST',
url: 'http://api.bf3stats.com/pc/playerlist/',
data: {
players: ['xxx', 'xxxx', 'x']
},
success: function(data) {
loadData(data, 'x', 'f');
}
})
})
function loadData(data, uname, $) {
$('#fWins').text("135");
}
但是一旦遇到loadData
函数,我就会收到错误:
Error: Uncaught TypeError: string is not a function
我绝对不知道为什么这会给我这么多问题。提前谢谢!
谢谢问题是我使用$,我不经常使用jQuery,仅适用于我需要跨浏览器兼容性的时候。多亏了这个,将在计时器启动时标记已回答
答案 0 :(得分:2)
这是因为您使用$
作为loadData中最后一个参数的参数名称。这意味着当你看到$
$('#fWins').text("135");
而不是使用jQuery时,你的函数将使用你传递给函数的字符串“f”,所以它基本上是这样做的:"f"('#fWins').text("135");
要修复它,请更改:
function loadData(data, uname, $) {
类似
function loadData(data, uname, lastParam) {
答案 1 :(得分:1)
试试这个:
$(function () {
console.log('Here');
$.ajax({
type: 'POST',
url: 'http://api.bf3stats.com/pc/playerlist/',
data: {
players: ['xxx', 'xxxx', 'x']
},
success: function (data) {
loadData(data, 'x', 'f');
}
});
});
function loadData(data, uname, param) {
console.log('Here too..');
$('#fWins').text("135");
}
FIDDLE (在控制台中,您将获得此处&amp; 此处...... ,没有任何错误) < / p>
答案 2 :(得分:0)
$试图将该变量作为函数传递 所以,如果你有一个声明了传递字符串的函数,它将触发它
你想要$那里的任何理由?