PHP jQuery使用多个单词传递值
PHP jQuery passing values with multiple words
我有一个jQuery,可以按颜色过滤查询中显示的一些项目。
问题出在"蓝色海军"等颜色上。显然jQuery没有传递这两个词或其他东西。当我回显_GET
值的结果时,当传递 2 个单词的颜色时,我永远不会得到任何东西,而我确实得到了一个单词颜色的值。
知道为什么会这样吗?
这是我的代码:
jQuery(document).ready(function($) {
$("input:checkbox").change(function() {
if($(this).is(':checked'))
{
$(".loadingItems").fadeIn(300); //fade in on change
var color = $(this).val();
$(".indexMain").load('indexMain.php?color='+color,function(){
$(".indexMain").fadeIn(slow);
})
$(".loadingItems").fadeOut(300); //remove when load is complete
}
else
{
$(".loadingItems").fadeIn(300); //fade in on change
$(".indexMain").load('indexMain.php');
$(".loadingItems").fadeOut(300); //remove when load is complete
}
});
});
$color = $_GET['color'];
$items = $con -> prepare("SELECT * FROM item_descr WHERE color_base1 = :colorbase1");
$items -> bindValue(":colorbase1", $color);
由于它是一个 GET 请求,因此该值将追加到查询字符串中,并且查询字符串不能包含常规空格。
在查询字符串中使用值之前,您需要对值进行 url 编码:
$(function() {
$("input[type='checkbox']").on('change', function() {
if (this.checked) {
$(".loadingItems").fadeIn(300);
var color = encodeURI(this.value);
$(".indexMain").load('indexMain.php?color=' + color, function() {
$(".indexMain").fadeIn(slow);
$(".loadingItems").fadeOut(300);
});
} else {
$(".loadingItems").fadeIn(300);
$(".indexMain").load('indexMain.php', function() {
$(".loadingItems").fadeOut(300);
});
}
});
});
$color = $_GET['color'];
$items = $con - > prepare("SELECT * FROM item_descr WHERE color_base1 = :colorbase1");
$items - > bindValue(":colorbase1", $color);
超全局$_GET
应该在 PHP 脚本中自动进行 URL 解码。
var color = $(this).val().replace(/ /g, '+');
这将适用于您的情况,但更好的方法是使用 encodeURI,如 adenneo 所解释的那样
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 拆分单词jquery
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 使用jQuery检查提交时添加到句子中的单词
- 使用jQuery上传非拉丁名称文件
- 数组上的多图像上传-Javascript/Jquery
- 当两个单独的单词被放在目标上时,使用Jquery获取一个值
- 带有预览和删除选项的图像上传-Javascript/Jquery
- 点击按钮在rails上传Jquery文件
- 上传 jQuery Handsontable 输入
- 计算长字符串中每个句子的单词,jQuery
- 用于 excel 文件上传 jQuery 的正则表达式验证代码
- 文件上传 Jquery 不能动态工作
- 动态使用bleuimp上传jquery文件
- 如果换行时有孤立的单词,jQuery不计算文本的正确高度
- 文件上传jquery而不是预览文件,它显示在下面的新窗口的链接
- 删除所有重复的单词使用jquery, javascript或PHP
- Json上传jquery文件错误
- 显示多文件上传Jquery/Ajax的进度