我尝试通过 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/