通过ajax / json发送两个变量

时间:2011-02-04 04:31:54

标签: 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不使用转移数据。

我试图制作这两个数据和其他数据的数组,但没有。 可以帮助或告诉更好的方法吗?

2 个答案:

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