4

我在这里使用此代码作为我正在玩弄的网页:

$(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,仅在我需要跨浏览器兼容性时使用。谢谢你,定时器到时会标记为已回答

4

3 回答 3

2

这是因为您使用$作为 loadData 中最后一个参数的参数名称。这意味着您的函数将使用您在看到$on$('#fWins').text("135");而不是使用 jQuery 时传递给函数的字符串“f”,因此它本质上是这样做的:"f"('#fWins').text("135");要修复它,请更改:

function loadData(data, uname, $) {

类似于

function loadData(data, uname, lastParam) {  
于 2013-04-25T20:16:46.563 回答
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 (在控制台中,您也将同时获得HereHere ..,没有任何错误)

于 2013-04-25T20:19:54.930 回答
0

$ 试图将该变量作为函数传递,所以如果你有一个函数声明了传递的字符串,它会触发它

你有什么理由想要 $ 那里?

于 2013-04-25T20:24:03.580 回答