javascript ajax变量问题
嘿,阿贾克斯新手,JS。。我正试图添加到一个Javascript/Ajax搜索脚本中。以前,它只有一个搜索字段,名为search\u word,我添加了一个名为search\u date的字段javascript ajax变量问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,嘿,阿贾克斯新手,JS。。我正试图添加到一个Javascript/Ajax搜索脚本中。以前,它只有一个搜索字段,名为search\u word,我添加了一个名为search\u date的字段 $(".search_button").click(function() { var search_word = $("#search_box").val(); var search_date = $("#datepicker").val(); var dataString = '
$(".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的数据传递给我的处理脚本。如何将搜索日期添加到数据字符串,以便在searchdata.php中使用该变量
在searchdata中,我可以这样做$search\u word=$\u GET['search\u word'];并使用该变量,但到目前为止,每次我尝试更改dataString时,它都会破坏所有其他功能
谢谢 您需要这样修改
dataString
:
var dataString = 'search_word='+ search_word + '&search_date=' + search_date;
我还建议您将if条件反转为if(search\u word){…}
,将AJAX放在那里,然后跳过else
如果这对您没有帮助,请尝试在连接之后提醒
dataString
的值,以查看实际发生的情况。也许search\u date
的值不是您认为的值?您需要修改dataString
如下:
var dataString = 'search_word='+ search_word + '&search_date=' + search_date;
我还建议您将if条件反转为if(search\u word){…}
,将AJAX放在那里,然后跳过else
如果这对您没有帮助,请尝试在连接之后提醒dataString
的值,以查看实际发生的情况。也许搜索日期的值与您想象的不一样?
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}
});
或者
或者你可以完全摆脱这条线,然后就这样做
$.ajax({
type: "GET",
url: "searchdata.php",
data: {search_word: search_word, search_date: search_date}
});
为了避免对服务器的意外请求,您应该调用任何用户输入的参数,这些参数将作为URI的一部分传递。
为了避免对服务器的意外请求,您应该调用任何用户输入的参数,这些参数将作为URI的一部分传递。
您也可以直接将其添加到url:
$.ajax({
type: "GET",
url: "searchdata.php?search_word=" + search_word;
});
您也可以直接将其添加到url:
$.ajax({
type: "GET",
url: "searchdata.php?search_word=" + search_word;
});
在$.ajax调用中,可以使用对象作为数据参数
$.ajax({
type: "GET",
url: "searchdata.php",
data: {search_word: search_word, search_date: search_date}
});
$.ajax({
键入:“获取”,
url:“searchdata.php”,
数据:{搜索词:搜索词,搜索日期:搜索日期}
});
在$.ajax调用中,可以使用对象作为数据参数
$.ajax({
type: "GET",
url: "searchdata.php",
data: {search_word: search_word, search_date: search_date}
});
$.ajax({
键入:“获取”,
url:“searchdata.php”,
数据:{搜索词:搜索词,搜索日期:搜索日期}
});
使用参数将数据设置为json对象:
data {
prop1: val1
, prop2: val2
}
使用参数将数据设置为json对象:
data {
prop1: val1
, prop2: val2
}
第二个选项我试过了,但是没有贴出来。第一个选项很有魅力,谢谢!此外,如果您更习惯于在“GET”中工作,您可以发送字符串“foo=bar&foo2=bar2”等。我尝试了第二个选项,但它没有发布。第一个选项很有魅力,谢谢!此外,如果您更习惯于在“GET”中工作,则可以发送字符串“foo=bar&foo2=bar2”等。您必须对两个参数分别使用encodeURI
或最好是encodeURIComponent
,而不是对最终连接的字符串。当前解决方案将用%26
替换&search\u date=
中的和,等号将替换为%3D
。(粗体文本的有效部分位于用户输入的任何参数上,而不是整个最终查询字符串上;这根本不起作用)您必须对两个参数分别使用encodeURI
或者最好是encodeURIComponent
,而不是对最终连接的字符串。当前解决方案将用%26
替换&search\u date=
中的和,等号将替换为%3D
。(粗体文本的有效部分在任何用户输入的参数上,而不是在整个最终查询字符串上;这根本不起作用)