如何忽略<元>标签?

发布于 2024-11-19 12:27:38 字数 826 浏览 0 评论 0原文

我想在警报中显示包含重音字母(例如“é”和“à”)的法语句子。因此,我在 php 文件的元标记中使用 utf-8 字符集,以便字母“é”和“à”在 JavaScript 警报中正常显示。问题是,当获取 ajax responseText 时,我会在响应中获取元标记的代码。那么如何只获取php文件的echo结果呢?

这是 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 返回 $rep 变量。如何实现这一目标?

I want to show in an alert a french sentence containing accentuated letters such as "é" and "à". So I use the utf-8 charset in the meta tag of my php file so that the letters "é" and "à" are displayed normally in a javascript alert. The problem is that when getting the ajax responseText then I get among the responses the code of the meta tag. So how to get only the echo result of the php file ?

Here is the php file used by the 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;

?>

So I want only the $rep variable to be returned by the ajax responseText. How to achieve that ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

冬天的雪花 2024-11-26 12:27:38
<?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

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

?>

Read:

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

驱逐舰岛风号 2024-11-26 12:27:38

您不需要在此脚本上添加元标记。您仅在浏览器必须呈现的页面上需要它。

You don't need to have the meta tag on this script. You only need it on pages that the browser is going to have to render.

[浮城] 2024-11-26 12:27:38

从此文件中删除包括元标记的 html 代码并使用

echo utf8_encode($rep);

Remove the html code including meta tag from this file and use

echo utf8_encode($rep);
挽清梦 2024-11-26 12:27:38

您需要检查请求是否是 Ajax 请求,尝试如下操作:

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

You need to check if the request is an Ajax request, try something like this:

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    // This is an ajax request
    echo $rep;
    die();
}
酒废 2024-11-26 12:27:38

您可以向 url 添加一个变量,通过该变量可以识别 AJAX 请求,也可以设置一个特殊的 X-Requested-With 标头(我认为它是由 JQuery 自动设置的)。在 PHP 中,您可以检查是否设置了此标头。

另外,不要忘记设置 Content-Type 标头,其中还应该指定 UTF-8。

You can either add a variable to the url by which you can recognize the AJAX request, or you can set a special X-Requested-With header (which I think it automatically set by JQuery). In PHP you can check if this header is set.

Also, don't forget to set the Content-Type header, in which you should also specify UTF-8.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文