jQuery:.get()回调接受多个参数

时间:2012-11-11 20:08:29

标签: php jquery

我正在制作一个漫画网站......它将有两个子网站:漫画和艺术品。

当有人点击某个特定的子网站时,会传入一个“网站”参数(漫画或艺术作品),该参数指定应该从哪个表(漫画或艺术作品)查询图像。

这一切都有效......除了我试图将这个额外参数添加到此搜索功能中,该功能目前只接受输入字符串,但不知道要搜索哪个表。

所以,我有一个接受输入框输入的搜索功能:

<span class="search"><input type="text" onkeyup="search(this.value)" name="input" value="" /></span>

JQuery的:

function search() {     
 $.get("./scripts/search.php", {"_input" : $('input[name=input]').val()},
    function(returned_data) {
                $("#output").html(returned_data);
    }
  );
}

PHP搜索脚本...获取搜索字符串输入

 $input = (isset($_GET['_input']) ? ($_GET['_input']) : 0); 

但我还要传递一个“_site”参数,该参数指定应该从我的网站上的哪个子网站返回图像:

function search() {     
 $.get("./scripts/search.php", {"_input" : $('input[name=input]').val(), "_site" :     $('input[name=site]'.val()},
    function(returned_data) {
                $("#output").html(returned_data);
    }
);

}

因此,PHP搜索脚本将获得搜索字符串,但也知道它所在的网站:

$input = (isset($_GET['_input']) ? ($_GET['_input']) : 0); 
$site = (isset($_GET['_site']) ? ($_GET['_site']) : null);

是否可以通过JQuery发送多个参数?这甚至是正确的方法吗?

------------ EDIT 这就是“网站”搜索参数影响搜索查询的方式

$site = (isset($_GET['_site']) ? ($_GET['_site']) : null);
echo "SEARCH SITE = " . $site;

if($site == "artwork") {
        $id = "artid";
        $title = "arttitle";
        $path = "artpath";
        $thumb = "artthumb";
        $catid = "artcatidFK";
        $table = "artwork";

        $thumbpath = "./images/Artwork/ArtThumbnails/";
}
else {
        $id = "imgid";
        $title = "imgtitle";
        $path = "imgpath";
        $thumb = "imgthumb";
        $catid = "imgcatidFK";
        $table = "comics";

        $thumbpath = "./images/Comics/ComicThumbnails/";
}


$imgpaths = $mysqli->query("SELECT $id, $title, $path, $thumb, $catid FROM $table");
mysqli_close($mysqli);

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,就像使用逗号

一样简单
$.get("test.php", { name: "John", time: "2pm" } );

从JQuery站点复制并粘贴。

参考:http://api.jquery.com/jQuery.get/#entry-examples

所以你正在做的是正确的,检查你的()标签,因为你错过了一个

答案 1 :(得分:2)

是的,这是可能的。您在第二个示例中正好这样做,期望您在代码)

中忘记了一个$('input[name=site]')
function search() {     
 $.get("./scripts/search.php", {"_input" : $('input[name=input]').val(), "_site" :     $('input[name=site]').val()},
    function(returned_data) {
                $("#output").html(returned_data);
    }
);
}