嘿那里,AJAX的新手,JS ..我试图添加到我放在一起的Javascript / Ajax搜索脚本。以前,它有一个名为search_word的搜索字段,我添加了一个名为search_date。
$(".search_button").click(function() {
var search_word = $("#search_box").val();
var search_date = $("#datepicker").val();
var dataString = 'search_word='+ search_word;
if(search_word=='')
{
}
else
{
$.ajax({
type: "GET",
url: "searchdata.php",
data: dataString,
在Ajax中,它似乎将dataString的数据传递给我的处理脚本。如何将搜索日期添加到dataString,以便我可以在searchdata.php中使用该变量?
在searchdata中,我可以这样做$ search_word = $ _ GET ['search_word'];并使用该var,但到目前为止,每当我尝试更改dataString时,它都会破坏所有其他功能。
谢谢!
答案 0 :(得分:4)
无论
var dataString = 'search_word='+search_word+'&search_date='+search_date;
或者你可以完全摆脱那条线而只是做
$.ajax({
type: "GET",
url: "searchdata.php",
data: {search_word: search_word, search_date: search_date}
});
答案 1 :(得分:1)
您需要像这样修改dataString
:
var dataString = 'search_word='+ search_word + '&search_date=' + search_date;
我还建议您将if条件转换为if(search_word) { ... }
,将AJAX放入其中,然后跳过else
。
如果这对您没有帮助,请尝试在该连接后提醒dataString
的值,以查看实际发生的情况。也许search_date
的价值不是你想象的那样?
答案 2 :(得分:1)
var str = 'search_word='+ search_word + '&search_date'+search_date;
dataString = encodeURI(str);
$.ajax({
type: "GET",
url: "searchdata.php",
data: dataString});
为了避免对服务器的意外请求,您应该对任何用户输入的参数调用encodeURI,这些参数将作为URI的一部分传递。
答案 3 :(得分:0)
您也可以直接将其添加到网址:
$.ajax({
type: "GET",
url: "searchdata.php?search_word=" + search_word;
});
答案 4 :(得分:0)
在$ .ajax调用中,您可以使用对象作为数据参数。
$.ajax({ type: "GET", url: "searchdata.php", data: {search_word: search_word, search_date: search_date} });
答案 5 :(得分:0)
使用您的参数将数据作为json对象:
data {
prop1: val1
, prop2: val2
}