【问题标题】:Fetch Data by variable with Javascript使用 Javascript 通过变量获取数据
【发布时间】:2011-09-28 19:44:32
【问题描述】:

我将如何获取通过一段 javascript 代码输出的一段文本并将其分配到以下脚本中链接的末尾:

$(document).ready(function(){
$(document).bind('deviceready', function(){
    var name = $('#name');
    var logo = $('#logo');
    var attacking = $('#attacking');
    var midfield = $('#midfield');
    var defence = $('#defence');
    var rating = $('#rating');
    var url = 'http://79.170.44.147/oftheday.co/fifa/team.php?name=(Piece of text needs to be inputted at the end here, so that the correct data can be fetched)';

    $.ajax({
        url: url,
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status){
           $.each(data, function(i,item){ 
                  var name1 = ''+item.name+'';
                  name.append(name1);
                  });
           $.each(data, function(i,item){ 
                  var logo2 = '<img src="'+item.logo+'" />';
                  logo.append(logo2);
                  });
           $.each(data, function(i,item){ 
                  var attacking2 = ''+item.attacking+'';
                  attacking.append(attacking2);
                  });
           $.each(data, function(i,item){ 
                  var midfield2 = ''+item.midfield+'';
                  midfield.append(midfield2);
                  });
           $.each(data, function(i,item){ 
                  var defence2 = ''+item.defence+'';
                  defence.append(defence2);
                  });
           $.each(data, function(i,item){ 
                  var rating2 = ''+item.rating+'';
                  rating.append(rating2);
                  });

           },
        error: function(){
           name.text('There was an error loading the name.');
           logo.text('There was an error loading the logo.');
           attacking.text('There was an error loading the attacking data.');
           midfield.text('There was an error loading the midfield data.');
           defence.text('There was an error loading the defence data.');
           rating.text('There was an error loading the rating data.');
        }
    });
});
});

我了解如何在 PHP 中执行此操作,这类似于在 $name 等于输出内容的链接末尾插入“'.$name.'”。我不太明白这里怎么做,用于输出先前文本的脚本也在一个单独的 javascript 文件中。

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript database variables cordova


    【解决方案1】:

    var url = '.../oftheday.co/fifa/team.php?name='+encodeURIComponent(someVar);

    可变部分从何而来?下拉菜单?

    如果是的话

    var url = '.../oftheday.co/fifa/team.php?name='+encodeURIComponent($("#someId").val())

    更新:

    &lt;div onload="onBodyLoad()" id="international"&gt;&lt;/div&gt;

    意思是

    var url = '.../oftheday.co/fifa/team.php?name='+encodeURIComponent($("#international").text())

    但是什么是 onload="onBodyLoad()" 应该做的? - 我不相信 div 上有这样的属性

    【讨论】:

    • 感谢您的回复,但它似乎不起作用,我无法解决代码在这里的问题:79.170.44.147/oftheday.co/code.txt
    • 我有一个类似的问题,也希望看到这个答案
    • 感谢您的评论,有机会我会尝试更新。我正在使用 api 开发 iPhone 应用程序,并且 onBodyLoad() 通过 api 运行操作所需的函数。
    【解决方案2】:

    与其使用字符串连接自己构造查询参数,不如使用jQuery.ajax()data 参数。请参阅http://api.jquery.com/jQuery.ajax/ 的文档。

    您的 ajax 调用将如下所示:

    // Notice that there is no name= in the url
    var url = 'http://79.170.44.147/oftheday.co/fifa/team.php';
    $.ajax({
        url: url,
        data: {
            name: $("#international").text()  // this will put the name=... in the query
        }, 
        dataType: 'jsonp',
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2018-06-20
      • 2016-06-26
      • 2021-07-03
      • 1970-01-01
      • 2017-12-19
      相关资源
      最近更新 更多