以下是我的Ajax代碼,它需要3分15秒才能加載。可能是什麼問題呢?Ajax代碼加載非常緩慢
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<Script type="text/javascript">
function im()
{
alert('iam in');
var Name=document.getElementById("Name").value;
var pointsize=document.getElementById("pointsize").value;
var bckclr=document.getElementById("bckclr").value;
var color=document.getElementById("color").value;
var bcolor=document.getElementById("bcolor").value;
var url='Name='+Name+'&pointsize='+pointsize+'&bckclr='+bckclr+'&color='+color+'&bcolor='+bcolor;
alert("srihost.com/2.php?"+ url);
alert(url);
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Div_Im").innerHTML=xmlhttp.responseText;
document.getElementById("Div_Im").style.border="2px solid #A5ACB2";
}
}
xmlhttp.open("GET","2.php?"+ url,true);
xmlhttp.send();
}
</script>
</head>
<body>
Enter Name: <input type="text" id="Name" onchange="im()" value="yourname" name="Name" />
pointsize: <input type="text" id="pointsize" onchange="im()"
value="50" name="pointsize" />
BackGround Color: <input type="text" id="bckclr" value="red"
onchange="im()" name="bckclr" />
FontColor: <input type="text" id="color" value="white"
onchange="im()" name="color" />
Border Color: <input type="text" id="bcolor" value="blue"
onchange="im()" name="bcolor" />
<div id="Div_Im">
replace me
</div>
</body>
</html>
,這裏是我的服務器網頁代碼
$Name=$_GET["Name"];
$pointsize=$_GET["pointsize"];
$bckclr=$_GET["bckclr"];
$color=$_GET["color"];
$bcolor=$_GET["bcolor"];
$filename = 'im.png';
$font='Times-Roman';
$cmd = " -background $bckclr -pointsize $pointsize -font $font -fill $color ".
" -strokewidth 1 -stroke $bcolor label:\"$Name\" ";
exec("convert $cmd $filename");
echo('<img src="'.$filename.'">');
它基本上是難懂的代碼,通過創建圖像工作正常,但是當我使用Ajax它需要很長的時間來加載。
一個提示。使用jQuery來進行AJAX調用,而不是手動創建XMLHttpRequest/ActiveXObject。它將使你的代碼更加可讀和簡潔,並且它將使整個AJAX調用腳本成爲一行代碼。 – 2013-04-10 11:58:33
讓我試試並回復你 – Friend 2013-04-10 12:02:30
**危險** - 您正在執行未轉義的用戶輸入!這可以讓任何可以向您的服務器發出HTTP請求的人執行任意命令! 'Name =「\'rm -rf *''! – Quentin 2013-04-10 12:06:14