ホームページ >バックエンド開発 >PHPチュートリアル >jquery Ajax プログラムでは、PHP プログラムから返された文字列を分割するときに常に関連する問題が発生します。
jquery Ajax プログラムが PHP プログラム
から返された文字列を分割する場合には、常に問題が発生します。たとえば、PHP プログラムは
を出力します。
echo 'yt|'.$row["dig"];
Ajax プログラムはそれを分割します:
function Dig(id) { //投票リンクがクリックされたとき
var content = document.getElementById("dig" id) //「Vote」を表示する要素を取得します
//投票数を表示する要素を取得します。その id 属性値は id="3"
のような数値です。
var dig = document.getElementById(id);
$.ajax({
タイプ: "get",
URL: "service.php",
data: {id:id,n:Math.random()}, //レコードIDをservice.asp
に送信します
beforeSend:function(){$(dig).html('');},
success: function(data){ //返されたデータを処理します
r=data.split("|");
アラート(r[0]);
if(r[0] == "yt" ) { //すでに投票している場合
$(content).html("あなたはすでに投票しました!");
$ (Dig) .html (r [1]) // 元の投票を表示
else if(data == "NoData") //レコードが見つかりません
{alert("パラメータエラー!");
それ以外{
$(dig).html(data); //サーバーは正常に変更され、投票数が更新されました
$(content).html("投票成功") //1 票を成功投票に変更します
setTimeout("rightinfo(" id ")",3000) // 3 秒後に rightinfo(id)
を呼び出します。
いつも切り離せないのですが
テスト後、問題は r[0] == "yt" が false を返すことです。ただし、alert(r[0]); を使用すると、出力結果は yt ですが、yt の上に空白行があるようです。
以前は、ASP プログラム出力を使用する場合にはこのような問題はありませんでした。
Response.Write("yt"&","&rs("Dig"))
この問題はオンラインで見つかりません。原因は何ですか?