2009-07-25 65 views
0

我是新來的JavaScript和jQuery的,我從另一個網站通過PHP加載數據,但我想刷新它每分鐘不使用PHP,因爲他們返回的數據是這種格式1000,10000每次都有不同的數字。從另一個URL加載數據

那麼我怎麼能每分鐘加載數據並分割它,就像在我使用爆炸(「,」,「1000,10000」)

我想分割數據以顯示%,所以在這個例子中1000/10000 * 100會給我們10%。

謝謝。

+0

能幫你什麼,你不能找出一點更清楚了嗎?好像你在問怎麼分割,並且在你的評論之後,你會問如何在一段時間內運行它。你有沒有關於從另一個url加載數據的部分,還是那部分需要?此外,你甚至有另一個你可以點擊的網址,將以可用的形式返回你需要的數據嗎? – 2009-07-25 13:47:56

回答

3

你在找什麼是字符串split()函數。您可以使用它來獲取字符串並根據正則表達式進行拆分。然後,您可以將返回的子字符串轉換爲數字,以便對它們進行數學運算。請注意,您可能可以省略顯式轉換,但有時數字的處理方式與字符串不同(例如+運算符將會追加字符串,即使它們都是數字),所以我認爲這是一種很好的做法。

var nums = data.split(/,/); 

var pct = Number(nums[0])/Number(nums[1]) * 100; 

要每分鐘獲取數據,您需要使用AJAX並調用生成數字的php方法。請注意,要麼url需要位於同一個域中,要麼需要使用JSONP進行傳輸。我假設(因爲你正在使用一個字符串),該值不是JSON,而是原始內容。如果您可以使用JSON,則不需要進行字符串拆分,因爲您可以將數字放入JSON對象的各個屬性中。

$(function() { 
    setInterval(function() { 
     $.ajax({ 
      url: 'some.php', 
      dataType: 'html', 
      success: function(data) { 
       var nums = data.split(/,/); 
       $('#percentage').text((Number(nums[0])/Number(nums[1]) * 100) + '%'); 
      } 
     }); 
    },60000); 
}); 
+0

但是,你能告訴我如何每分鐘運行該功能 – Shishant 2009-07-25 13:41:04

0

如果我正確理解你的問題,你已經想出瞭如何將數據加載到你的頁面,現在你只是想解析它並利用它。

在這種情況下,你真的不需要任何jQuery,你可以使用javascript split方法。

var dataFromOtherUrl = "1000, 10000"; 
var result = dataFromOtherUrl.split(", ") // result is the array: ["1000", "10000"] 

從那裏,你可以使用該數組在做您%數學:

var percentage = result[0]/result[1] * 100; 

如果要限制次數的字符串分割你可以通過另一種說法到了#方法。

+0

nope我不知道如何每分鐘運行該功能 – Shishant 2009-07-25 13:38:47

0

要每分鐘運行一個函數,必須使用setInterval -Methode。

var activ = window.setInterval("update()", 1000*60); 
function update() { 
    // your update code goes here 
    // Ajax-Request 
    // parsing 
    // updating the display 
} 

阻止它,使用:

window.clearInterval(activ);