javascript - 使用 Ajax 向 PHP 发送数据

标签 javascript php ajax

我试图使用 GET 方法通过 ajax 发送一个字符串,但是只要该字符串包含一些标点符号,当我在 php 中使用 echo 时,这些字符就不会出现。

例如,如果我发送字符串“sub + 12”,php 将回显“sub 12” 如果我发送“&()*”,php 将回显一个空字符串。

为什么会发生这种情况? 字符串中是否有不能包含的特殊字符?

最佳答案

encodeURIComponent()。这是演示代码,您可以查看

类似这样的encodeURIComponent(yourtext)

首先是这个html代码。在文本字段中输入文本并检查此输出,这是 onkeyup,因此输入文本并检查结果

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP, jQuery search demo</title>
<link rel="stylesheet" type="text/css" href="my.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
    $("input").keyup(function () {
        $('#results').html('');
        var searchString = $("#search_box").val();
        var data = 'search_text=' + encodeURIComponent(searchString);
        if (searchString) {
            $.ajax({
                type: "GET",
                url: 'edit.php',
                data: data,
                dataType: 'text',
                async: false,
                cache: false,
                success: function (result) {
                    $('#results').html(result);
                    //window.location.reload();

                }
            });
        }
    });
});
 </script>

</head>
<body>
<div id="container">
<div style="margin:20px auto; text-align: center;">
<form method="post" action="do_search.php">
    <input type="text" name="search" id="search_box" class='search_box'/>
    <input type="submit" value="Search" class="search_button"/><br/>
</form>
</div>
<div>

<div id="searchresults">Search results :</div>
<ul id="results" class="update">
</ul>

</div>
</div>

</body>
</html>

然后创建edit.php文件

<?php 

$searchquery = $_GET['search_text']; 
echo $searchquery;
?>

然后检查结果。正在运行

输出为

搜索结果:

  &()*

关于javascript - 使用 Ajax 向 PHP 发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44291063/

相关文章:

javascript - 使用reactjs将数据保存为表单

javascript - Dygraph动态更新图例值消失

php - jQuery - 与 undefined variable 作斗争

javascript - 根据对象的 ID 属性过滤对象数组

javascript - ZeroClipboard/zClip——如何绑定(bind)到实时事件?

javascript - Array - join 和 toString 调用在 toLocaleString 调用后返回一个空字符串

javascript - Scribd setPage 功能不起作用

php - 使用 PHP 和 Mysql 使用一个查询将数据插入 2 个表

php - 身份验证 MySQL 与 PHP?

javascript - 在ajax响应中加载列表对象并使用此数据创建动态列表div