2010-12-17 62 views
0

我回應了一個變量,它添加了我的鏈接(輸出一個數字)並將它們加起來。由於它是PHP,它首先加載,並使我的網站等待,直到完成加載。這可以寫在jQuery?我對JavaScript很陌生。php轉換爲javascript

<?php 

$a = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.batterytheme&output=number'); 
$a = str_replace(",", "", $a); 
$b = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.connectiontheme&output=number'); 
$b = str_replace(",", "", $b); 
$c = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.icontheme&output=number'); 
$c = str_replace(",", "", $c); 
$d = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.percenttheme&output=number'); 
$d = str_replace(",", "", $d); 
$e = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.statusnotifiertheme&output=number'); 
$e = str_replace(",", "", $e); 
$f = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.cnote&output=number'); 
$f = str_replace(",", "", $f); 
$g = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.iaccescnotekb&output=number'); 
$g = str_replace(",", "", $g); 
$h = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.cnotelite&output=number'); 
$h = str_replace(",", "", $h); 
$i = (301); //From c-note and Multi Lock Screen Theme on Rock Your Phone 
    $j = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.multibrowsericon&output=number'); 
$j = str_replace(",", "", $j); 
$k = file_get_contents('http://modmyi.com/cstats/index.php?package=com.modmyi.changeappstoreiconwithinstallous&output=number'); 
$k = str_replace(",", "", $j); 

$z = $a+$b+$c+$d+$e+$f+$g+$h+$i+$j+$k; 
$z = number_format($z); 
echo $z; 

?> 
+0

可你這是什麼一樣多一點我不知道我是否理解 – 2010-12-17 05:21:05

+0

@ cnotethegr8擴大:什麼TTP://modmyi.com/cstats/index.php包= com.modmyi.cnotelite&輸出=多少?正在返回HTML JavaScript? – RageZ 2010-12-17 05:21:26

+0

是的,你可以用AJAX完成同樣的事情。不過,我對jQuery ajax工具並不是非常熟悉,所以我會將具體信息留給其他人。 – 2010-12-17 05:24:46

回答

0

您可以使用$.ajax。例如。

var a; 
var b; 
var c; 
$.get('http://modmyi.com/cstats/index.php?package=com.modmyi.batterytheme&output=number', function(data) { 
    a = data; 
}); 

$.get('http://modmyi.com/cstats/index.php?package=com.modmyi.connectiontheme&output=number', function(data) { 
    b = data; 
}); 

... etc 

唯一棘手的事情是驗證所有的ajax調用完成。 ajax調用是異步的,所以你沒有真正的方法來確保你需要的所有數據都在那裏。一個簡單的解決方案將使在前面的Ajax調用成功回調函數多了一個Ajax調用即

$.get('url1', function(data){ 
    $.get('url2', function(data){ 
    }); 
}); 
+1

IMO,按順序運行ajax請求 - 當第一個返回時發送第二個請求,依此類推。這樣你就不會有任何同步問題加在一起。 – 2010-12-17 05:31:45

+0

感謝RageZ。所以我可以繼續這樣的所有鏈接,但我如何輸出它?我在JavaScript中的知識非常有限。我只用jQuery來添加動作和類... – cnotethegr8 2010-12-17 05:33:50

+0

這不是最大的,但這是一個解決方案,我想出了一個事件觸發後,指定數量的請求完成:http://stackoverflow.com/questions/4368946/javascript-callback-for-multiple-ajax -calls/4369592#4369592 – subhaze 2010-12-17 06:06:56

0

你必須首先記住,JavaScript是不是PHP的替代品。 PHP是服務器端語言,JavaScript純粹是客戶端。一個不能取代另一個。

您可以將該樣本轉換爲可用的JS。但是,它與服務器端實現的不同之處在於它的行爲完全依賴於用戶代理及其執行JavaScript的能力。

創建一個新的PHP腳本,該腳本以XML格式返回廣告,並且您可以使用XMLHttpRequest對象通過Javascript獲取它們。如果你喜歡,我可以在一秒鐘內寫出一個樣本。

+0

我想那樣。謝謝! – cnotethegr8 2010-12-17 05:43:54

0

$就({URL: 'http://modmyi.com/cstats/index.php?package=com.modmyi.batterytheme &輸出=號碼',成功:功能(數據){$( '.result')。html(data);}});

更好的結果存儲在一個陣列或只是在這裏本身添加它另一個變量通過更換

$ HTML(數據)( '的結果。');

+0

按順序添加其他網址到這裏,你會完成你的東西。輸出數據有類似$('#result')。html(data);其中id =「result」的div/span是您想要顯示內容的位置,data是總和。 – Joe 2010-12-17 06:46:55