Как убрать тег <meta>? - PullRequest
0 голосов
/ 12 июля 2011

Я хочу показать в предупреждении французское предложение, содержащее акцентированные буквы, такие как «é» и «à».Поэтому я использую кодировку utf-8 в метатеге моего php-файла, чтобы буквы «é» и «à» нормально отображались в предупреждении javascript.Проблема в том, что при получении ajax responseText я получаю среди ответов код метатега.Итак, как получить только результат эха файла php?

Вот файл php, используемый ajax:

<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;

?>

Так что я хочу, чтобы только переменная $ rep была возвращенаajax responseText.Как этого добиться?

Ответы [ 5 ]

1 голос
/ 12 июля 2011

Вам не нужно иметь метатег в этом скрипте. Он нужен только на страницах, которые должен отображать браузер.

1 голос
/ 12 июля 2011
<?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 голосов
/ 12 июля 2011

Вы можете либо добавить переменную в URL, по которой вы можете распознать запрос AJAX, либо установить специальный заголовок X-Requested-With (который, я думаю, автоматически устанавливается JQuery).В PHP вы можете проверить, установлен ли этот заголовок.

Кроме того, не забудьте установить заголовок Content-Type, в котором вы также должны указать UTF-8.

0 голосов
/ 12 июля 2011

Вам нужно проверить, является ли запрос Ajax-запросом, попробуйте что-то вроде этого:

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    // This is an ajax request
    echo $rep;
    die();
}
0 голосов
/ 12 июля 2011

Удалите html-код, включая метатег, из этого файла и используйте

echo utf8_encode($rep);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...