php - 通过ajax/json发送两个变量

标签 php jquery ajax

我尝试通过 ajax/json 发送两个变量,但出了问题。

第一:

var searchbox = $(this).val();

var datastring = 'searchword='+ searchbox;

第二个:

<?php $lang = $_GET[lang]; ?>

ajax/json:

$.ajax({
    type: "POST",
    url: "files/search.php",
    data: dataString+"&lang=<?php $lang ?>",
    cache: false,
    success: function(html)
    {
    ...(etc)

在 search.php 页面上我需要:

$searchrequest = $_POST['searchword'];

$lang = $_POST['lang'];

$searchrequest可以工作,但$lang不使用传输的数据。

我尝试创建这两个数据和其他数据的数组,但什么也没有。 有人可以帮忙或告诉更好的方法吗?

最佳答案

使用字符串访问数组字段:

<?php $lang = $_GET['lang']; ?>

并且您必须回显 $lang 中包含的值:

 data: dataString+"&lang=<?php echo $lang ?>",

但是,如果 $lang 中的字符串包含任何其他不安全的 URI 字符(很可能不是从 $_GET 获取的,但仍然如此),您必须使用escpape 函数:

data: dataString+"&lang=" + escape('<?php echo $lang ?>'),

甚至更好(还可以正确编码searchbox:

data: {searchword: searchbox, lang: "<?php echo $lang ?>"},

或者,您可以通过 GET 将变量附加到 URL 来发送变量:

url: "files/search.php?lang=<?php echo $lang ?>",

关于php - 通过ajax/json发送两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4894580/

相关文章:

php - Laravel 5 关机功能替代

javascript - Ajax 调用会阻塞服务器直到完成

ajax - IE9 中的 jQuery AJAX 请求不发送 Cookie header

javascript - 如何使用AJAX/PHP/JAVASCRIPT根据另一列实时显示数据值?

javascript - 当数据源是数组时,jQuery DataTables 刷新网格

php - 使用 Eloquent 截断 laravel 中的所有表

php - 将 PHP 脚本设置为 Windows 服务

php - 将 tiff(带路径)转换为 png 并删除背景(透明)- 在 PHP 中使用 Imagemagick

javascript - JQuery 淡入淡出滚动在 iOS 上无法正常工作

javascript - 使用 focusout 和 focusin 以及 Click 事件时无法检测按钮按下情况