1

AjaxはサーバーにGETリクエストを送信します。また、サーバーは成功の結果を返します。

Server response:
[{"result":"success"}] 

しかし、ajax には responseText が表示されません。Firebug は get リクエストを赤色で表示します。 ここに画像の説明を入力

Ajax コード セクション:

var params = "&id=" +id + "&phone="+phone + "&account_active=" + activeAccount + "&fname="+fname + "&lname="+lname + "&time_zone="+timezone + "&street="+street+"&suite="+suite+"&ring="+ring+"&city="+city+"&state="+state +"&zip="+zip+"&call_time="+callTime +"&call_length="+callLength+"&call_count="+callCount;  
    
var xmlhttp = getXMLObject();
xmlhttp.open("GET",'agent_manager_response.php?cmd=fsave'+params,true);
xmlhttp.onreadystatechange=function(){
   if(xmlhttp.readyState==4 && xmlhttp.status==200){
    var data = eval(xmlhttp.responseText);
       if(data[0].result == "success"){
        alert('Successfully saved');
       }
      else{
        alert("Error saving data\nError: " + data[0].result);
      }
    }
}
xmlhttp.send(null);

サーバーコード:

$result = mysql_query($query,$con);
$data=array();
if(!$result)
     array_push($data,array('result'=>mysql_error()));
else
     array_push($data,array('result'=>'success'));
        
echo json_encode($data);

Ajax 応答 DOM タブ (firebug から)

DONE 4  
HEADERS_RECEIVED  2
LOADING  3
OPENED   1
UNSENT   0
getchannel  undefined
mozBackgroundRequest  false
multipart    false
onloadend   null
onuploadprogress  null
readyState    4
response     ""
responseText   ""
responseType   ""
responseXML   null
status      0
getstatusText  ""
getupload    undefined
withCredentials   false
abort    abort()
addEventListener  addEventListener()
dispatchEvent   dispatchEvent()
getAllResponseHeaders   getAllResponseHeaders()
getInterface    getInterface()
getResponseHeader   getResponseHeader()
open   open()
overrideMimeType    overrideMimeType()
removeEventListener removeEventListener()
send      send()
sendAsBinary  sendAsBinary()
setRequestHeader   setRequestHeader()

ネット タブのステータス: ここに画像の説明を入力

編集済み

これは私がネットタブに持っているすべてです: ここに画像の説明を入力

4

1 に答える 1

0

コンテンツ タイプを追加:

xmlhttp.setRequestHeader('Content-Type','application/json');

そして変更:

var data = eval(xmlhttp.responseText);

var data = eval( '(' + xmlhttp.responseText + ')' );
于 2012-08-15T07:02:23.983 に答える