0

重複の可能性:
スクリプトが Ajax の戻り値で機能しない

一部のデータを取得するために ajax を使用しています。「このユーザーのアイテムを表示する」リンクがあります。それをクリックすると、パラメーター「userid」で関数「callfunc」が呼び出されます。この ajax 関数は getdetails.php に移動し、その対応するユーザーの詳細を取得します。

<tr><td colspan="6" align="right"><a href="javascript:callfunc(<?= $row5[user_id]; ?>)" style="font-size:10px;">Show items of this user</a></td></tr>


<script type="text/javascript">
function callfunc(str)
{

//alert(str);
if (str.length==0)
{ 
document.getElementById("result").innerHTML="";
return;
}
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("result").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdetails.php?cid="+str,true);
xmlhttp.send();
}

getdetails.php

<?php
require 'include/connect.php';
$cid=$_GET['cid'];
$sql="select * from table where status='Active' and user_id=$cid";
$res=mysql_query($sql); 
$tot=mysql_num_rows($res);
if($tot>0){
while($row=mysql_fetch_array($res))
{
echo '<tr class="detail9txt" height="30"> 
      <td width="2%"><input type="checkbox" name="item" id="item" value="'.$row[item_id].'"></td>
      <td align="center" width="12%" style="vertical-align:baseline;">
        <a href="detail.php?item_id='.$row[item_id].'" id="link3">'.$row['title'].'</a>
      </td> 
<td align="center" width="17%" style="vertical-align:baseline;">
'.substr($row['des'], 0, 20).'
</td></tr>';
}
?>

このコードは、mozilla、chrome、opera では正常に動作しますが、IE では動作しません。リンク「このユーザーのアイテムを表示」をクリックしても、IE では何も起こりません。何か考えはありますか?

4

2 に答える 2

0

を見てくださいJquery ajax()。ほぼすべてのブラウザをサポートします。Jqueryの次のリリースであるバージョン1.9では、ie9より前のすべてのIEブラウザーのサポートが終了することに注意してください。

$.ajax({
  type: "GET",
  url: "getdetails.php",
  data: { cid : str }
}).done(function(response) {
  $('#result').text() = response;
});
于 2013-01-04T05:10:47.163 に答える
-1
  <script type="text/javascript">
    function callfunc(str)
    {
    try{
    var ox = ((window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"));
            if (ox) {
                ox.open("GET", "getdetails.php?cid="+str);
                ox.setRequestHeader("Content-Type", "text/html");
                ox.setRequestHeader("Connection", "close");
                ox.onreadystatechange = function () {
                    if (ox.readyState == 4) {
                        if (ox.status == 200) {
                            eval(callback_function + "('" + escape(ox.responseText) + "')");
                        } else {
                           alert(ox.readyState);
                           alert(ox.stauts);
                        }
                    }
                }
                ox.send(null);
            }
    }catch(e){
    alert(e.Message);
    }

    }

</script>

少なくともこのコードを試してみると、ブラウザでステータスやエラーが表示されます....

于 2013-01-04T05:47:21.143 に答える