2011-07-12 6 views
0

「é」や「à」などのアクセント記号付きの文字を含むフランス語の文章をアラートに表示したい。だから私は文字 "é"と "à"は通常javascriptの警告で表示されるように私のPHPファイルのメタタグにutf - 8の文字セットを使用します。問題は、ajax responseTextを取得するときに、応答の中にメタタグのコードを取得することです。だから、PHPファイルのエコー結果だけを取得する方法は?ここで<meta>タグを解除するにはどうすればよいですか?

は、Ajaxが使用するPHPファイルです:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 
<?php 
define("ROOT_PATH", "../../"); 
include ROOT_PATH . 'config.ajax.php'; 
include ROOT_PATH . 'config.inc.php'; 
require_once RP_MODELS.'produit.class.php'; 

$prod_code = $_GET['prod_code']; 

$db =& new DbConn() ; 
$produit =& new produit($db->getInstance()) ; 
$tab = $produit->lire($prod_code) ; 

if ($tab['cnt'] > 0) 
    $rep = "Le code produit " . $prod_code . " existe déjà !" ; 
else 
    $rep = "0" ; 

echo $rep; 

?> 

だから私はたったの$の担当者変数は、AJAX responseTextで返されたいです。それを達成する方法?

答えて

1
<?php 
header('Content-Type: text/html; charset=utf-8'); 
define("ROOT_PATH", "../../"); 
include ROOT_PATH . 'config.ajax.php'; 
include ROOT_PATH . 'config.inc.php'; 
require_once RP_MODELS.'produit.class.php'; 

$prod_code = $_GET['prod_code']; 

$db =& new DbConn() ; 
$produit =& new produit($db->getInstance()) ; 
$tab = $produit->lire($prod_code) ; 

if ($tab['cnt'] > 0) 
    $rep = "Le code produit " . $prod_code . " existe déjà !" ; 
else 
    $rep = "0" ; 

echo $rep;  

?> 

を使用します。

http://php.net/manual/en/function.header.php

0

読むこのファイルからメタタグを含むHTMLコードを削除し、

echo utf8_encode($rep); 
0

あなたはリクエストがAjaxリクエストであるかどうかを確認する必要がありますが、してみてくださいこのようなもの:

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { 
    // This is an ajax request 
    echo $rep; 
    die(); 
} 
0

AJAXリクエストを認識するためのURLに変数を追加することも、特別なX-Requested-Withヘッダー(これはJQueryによって自動的に設定されると思います)を設定することもできます。 PHPでは、このヘッダーが設定されているかどうかを確認できます。

また、UTF-8も指定する必要があるContent-Typeヘッダーを設定することを忘れないでください。

1

このスクリプトにメタタグを追加する必要はありません。あなたは、ブラウザがレンダリングしなければならないページ上でそれを必要とします。

関連する問題