jQuery를 사용하여 데이터베이스를 쿼리하고 입찰 테이블을 업데이트하고 통화 거래 시세를 묻습니다. 나는 $ .ajax를 사용하여 데이터베이스를 쿼리하고 자바 스크립트가 테이블을 업데이트하기 위해 파싱하는 XML 문서를 반환하는 php 스크립트에 통화 심볼을 보낸다. 모든 것이 파이어 폭스에서 pc/mac와 Safari 모두에서 작동하지만 IE에서는 작동하지 않습니다. 관련 코드 ... 아약스 호출을
JQuery와 :
var updateDataFunction = function() {
$.ajax({
url: "func2.php",
type: "GET",
data: "symbol=<?php echo $stock; ?>",
dataType: "xml",
success: function (msg) {
var bid = $('bid',msg).text();
var ask = $('ask',msg).text();
var spread = $('spread',msg).text();
// do some other stuff
}
});
};
스크립트는 자바 스크립트를 실행하기 전에 자바 스크립트에서 주식을 배치하는 PHP를 사용합니다. updateDataFunction은 $ (document) .ready에서 호출됩니다.
GET 대신 POST를 사용하여 PHP 스크립트
<?php
header("content-type:text/xml;charset=utf-8");
// connect to the database
function GetUpdate($symbol) {
$query = "SELECT * FROM tblSG WHERE strSymbol='$symbol'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$spread= $row['fBid'] - $row['fAsk'];
$output="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<exchange>\n";
$output.="<bid>" . number_format($row['fBid'],4) . "</bid>\n";
$output.="<ask>" . number_format($row['fAsk'],4) . "</ask>\n";
$output.="<spread>" . number_format($spread,4) . "</spread>\n";
$output.="</exchange>";
}
return $output;
}
$symbol = $_GET['symbol'];
echo GetUpdate($symbol);
?>
는 그것뿐만 아니라 FF 및 사파리에 실패합니다. 이것에 대한 해결책은 무엇입니까?
POST로 변경하면 PHP 코드가 $ _POST로 변경됩니다. $ _REQUEST를 사용하면 서버 측에서 게시물인지 get인지 알 필요가 없습니다. 오류가 발생하는 한 JS 오류가 발생합니까? – Brian
Fiddler (http://www.fiddler2.com/)를 사용하고 있습니까? 서버의 응답은 무엇입니까? –
$ .ajax 호출에이 매개 변수를 추가하십시오. 오류 : function (r, e) {alert (e); } 오류가 있었는지 알려줍니다. 내 생각 엔 IE는 '파서 오류'라는 팝업을 반환하고 다른 브라우저는 계속 정상적으로 작동 할 것입니다. –