JQuery ajax调用 - 无法传递url参数

时间:2012-12-30 21:40:39

标签: javascript jquery ajax

对不起这个“newbe”问题。

这是我的问题:

我正在使用JQuery 1.8.2,我正在尝试发出一个ajax请求:

这是有效的:

    $.ajax({
        url: 'http://191.168.0.133/rest/interface/test/1',
        dataType: 'json',
        timeout: 5000,
        success: function(data, status){
                $.each(data, function(i,item){
                        var registrationInfo = '<h1>' + item.testID+ '</h1>';
                        output.append(registrationInfo);
                    });
                },
        error: function(){
                output.text('There was an error loading the data.');
            }
        });

但我希望URL参数可以通过变量传递。下面的内容不起作用,但总是以错误函数结束“加载数据时出错。”

    var testURL = 'http://191.168.0.133/rest/interface/test/1';
    $.ajax({
        url: testURL,
        dataType: 'json',
        timeout: 5000,
        success: function(data, status){
                $.each(data, function(i,item){
                        var registrationInfo = '<h1>' + item.testID+ '</h1>';
                        output.append(registrationInfo);
                    });
                },
        error: function(){
                output.text('There was an error loading the data.');
            }
        });

我正在为此疯狂。任何人都可以帮我一把吗? 提前谢谢......

3 个答案:

答案 0 :(得分:4)

我认为在网址后添加分号可以解决您的问题。

如果有分号,我建议发布jsfiddle并尝试 如果你能把它归结为导致错误的差异。

答案 1 :(得分:0)

您提到的代码似乎没问题。 我想你可能会忽略其他东西......无论如何,只是为了引导你提出一些建议:

  • 你说它无法运行......你的意思是你得到语法错误?您可以在浏览器控制台中查看它。 F12键在大多数浏览器中打开控制台。或者从浏览器菜单中打开错误控制台并查看。或者错误功能是否执行

  • 您可能希望在每个“语句”的末尾加上一个分号(如变量声明,变量赋值),以避免由于JavaScript的“自动分号插入”功能导致初学者的混淆。

答案 2 :(得分:0)

我能够解决这个问题。

虽然$ .ajax命令仍无法正常工作,但我切换到$ .getJSON,这有效:

    var testURL = 'http://191.168.0.133/rest/interface/test/1';
    $.getJSON(testURL, function(data){
            $.each(data, function(i,item){
                    var registrationInfo = '<h1>' + item.testID+ '</h1>';
                    output.append(registrationInfo);
                });
            };

还没有任何线索,为什么$ .ajax的东西不起作用,因为getJSON只是ajax命令的简写。