1

对不起这个“新手”问题。

这是我的问题:

我正在使用 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.');
            }
        });

我要疯了。谁能帮我一把?提前致谢 ...

4

3 回答 3

4

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

如果有分号,那么我建议发布一个jsfiddle并尝试是否可以将其归结为导致错误的基本差异。

于 2012-12-30T21:48:58.333 回答
0

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

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

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

于 2012-12-30T21:52:02.887 回答
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 命令的简写。

于 2012-12-31T07:45:10.477 回答