2010-12-17 53 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