ورود

View Full Version : DataGrid و IE



samane658
یک شنبه 10 بهمن 1389, 13:26 عصر
سلام
يه گريد دارم كه اطلاعاتشو از ديتا بيس مي گيره . رو يكي از ستون هاش كه كليك مي كني بايد يه تابع AJAX رو Run كنه . وقتي سايتمو با Firefox اجرا مي كنم مشكلي نيست و تابع كارشو درست انجام مي ده و خروجي درست رو نشون ميده . ولي وقتي باIE اجراش مي كنم ارور زير رو ميده رو خط :

ul.innerHTML = req.responseText;

Error : htmlfile: Unknown runtime error

اينم تابع Ajax اي كه بايد Run شه :


<script type="text/javascript">

var ul = window.document.getElementById("projectInfo");
var req=null;
function showcontent(id) {
ul.style.display = "block";
ul.innerHTML = "<img src= 'pic/base pic/loading.gif' /><br> loading";

if (window.ActiveXObject) {req = new ActiveXObject('Microsoft.XMLHTTP'); } else {req = new XMLHttpRequest();}
if (req != null) {
var url = "showProject.aspx?id=" + id;
req.open("get", url, true);
req.send(null);
req.onreadystatechange = function() {
if (req.readyState == 4)
if (req.status == 200) {
ul.innerHTML = req.responseText;

} else
{ ul.innerHTML = req.statusText; }
};
} else {alert("Your Browser does not support AJAX "); }


}

</script>

مشكل چيه ؟ كسي مي دونه !!

samane658
سه شنبه 12 بهمن 1389, 11:26 صبح
يعني هيشكي نمي دونه مشكل از كجاست؟

hossin.esm
سه شنبه 12 بهمن 1389, 16:17 عصر
کد را درستش کردم
اشکالات
var ul = window.document.getElementById("projectInfo"); را داخل تابع بگذارید
req.onreadystatechange را قبل از send مقدار دهی کنید.

یکم تغییر دادم مثلا var url = "a.txt";


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">

var req=null;
function showcontent(id) {
var ul = window.document.getElementById("projectInfo");

if (window.ActiveXObject) {req = new ActiveXObject('Microsoft.XMLHTTP'); }
else {req = new XMLHttpRequest();}
if (req != null) {
ul.style.display = "block";
ul.innerHTML = "<img src= 'loading.gif' /><br> loading";
var url = "a.txt";
req.onreadystatechange = function() {
//alert(req.status);
if (req.readyState == 4 && req.status == 200)
{
ul.innerHTML = req.responseText;
}
else
{
ul.innerHTML ="";

}
}
req.open("GET", url, true);
req.send(null);

} else {alert("Your Browser does not support AJAX "); }

}
</script>
</head>
<body>
<div id="projectInfo"> </div>
<button onclick="showcontent(0)">test</button>
</body>
</html>

samane658
شنبه 16 بهمن 1389, 12:15 عصر
مرسي از اينكه جواب دادين. آره اگه يه فايلtext بزارم آره. جواب مي ده ولي وقتي يه آدرس مثل
var url = "showProject.aspx?id=" + id;
بزارم اوون Error رو ميده

id رو هم به صورت
iid = Request.QueryString["id"].ToString(); مي فرستم به صفحه ShowProject ام

hossin.esm
شنبه 16 بهمن 1389, 13:20 عصر
من تست کردم به درستی جواب داد البته با php که تفاوتی در عملکرد ندارد