我试图通过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不使用转移数据。
我试图制作这两个数据和其他数据的数组,但没有。 可以帮助或告诉更好的方法吗?
答案 0 :(得分:2)
使用字符串访问数组字段:
<?php $lang = $_GET['lang']; ?>
并且您必须echo
$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 ?>"},
或者,您可以通过将变量附加到URL来发送变量:
url: "files/search.php?lang=<?php echo $lang ?>",
答案 1 :(得分:1)
您使用的代码:
<?php $lang ?>
不打印任何内容。你需要
<?php echo $lang; ?>