Javascript 通过超链接传递到其他页面的数据正在被切断
我有一个包含2的表单,第一个select在页面加载时自动填充,而第二个select根据第一个select中选择的选项填充 为了实现这一点,每当select的状态发生变化时,第一个页面中的选定值将被传递到一个单独的页面,用于填充第二个页面 问题 在这种情况下,通过url传递的所选值Food&Beverages被中途截断,导致不完整的字符串被发送到第二个的处理页面,从而导致其无法运行 为查明问题而采取的步骤 我回显了通过url传递的值,只得到了食物,其余的字符串被截断。我尝试将字符串值替换为Food and Beverage,整个过程非常完美,这使我得出结论,字符串被切断是因为出现了符号&符号,这导致计算机将符号后面的字符串部分视为通过URL传递的另一个值。但是,因为我没有将它分配给变量,所以它没有被传递 问题: 我有没有办法在不切断的情况下传递值 代码摘录: 处理页面 编辑:尝试了encodeURIComponent,但是数据没有被编码,因为我可以从处理apge的url中看到它在与符号处被切断。但是,如果我手动输入url作为字符串,然后使用encodeURIComponent对其进行编码,它工作得非常好。有人能解释一下为什么我不能对$'BusinessCreateCography'.val;'进行编码吗?谢谢 E.G.这部作品Javascript 通过超链接传递到其他页面的数据正在被切断,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个包含2的表单,第一个select在页面加载时自动填充,而第二个select根据第一个select中选择的选项填充 为了实现这一点,每当select的状态发生变化时,第一个页面中的选定值将被传递到一个单独的页面,用于填充第二个页面 问题 在这种情况下,通过url传递的所选值Food&Beverages被中途截断,导致不完整的字符串被发送到第二个的处理页面,从而导致其无法运行 为查明问题而采取的步骤 我回显了通过url传递的值,只得到了食物,其余的字符串被截断。我尝试将字符串值替换为Food
var category="Food & Beverages";
var encoded =encodeURIComponent(category);
window.location.href='getbusinesssubcategory.php?category='+encoded;
这是不可能的
var category=$('#BusinessCreateCategory').val();
var encoded= encodeURIComponent(category);
window.location.href='getbusinesssubcategory.php?category='+encoded;
如果有帮助,我试图通过url传递的数据将从我的数据库中获取。浏览器限制可以传递的字符数。您是否有尝试传递的完整字符串的示例?我最初怀疑这可能是一个编码问题。在URL中使用category之前,需要对category的值进行编码
$('#BusinessCreateCategory').change(function(){
var category=$('#BusinessCreateCategory').val();
var encoded = encodeURIComponent(category);
window.location.href='getbusinesssubcategory.php?category='+encoded;
});
符号是一种特殊字符,它会将您试图传递的URL弄乱。对值进行编码应允许您将其视为单个值。encodeURIComponent对传递的字符串进行编码
应该对该值进行编码,但当您查询数据库时,它可能会查找精确匹配,如果您无法通过编码字符串看到任何输出,请在将字符串传递给数据库之前使用decodeURIComponent对其进行解码。在正式输入代码之前,请检查phymyadmin的输出。您是否尝试过在值上使用php urlencode?我强烈建议您不要使用字符串作为选项值,而是使用和自动递增的索引ieid@ChristopherMorrissey为什么建议使用自动递增索引而不是字符串作为选项值?@kenits cleaner,faster,您可以有两个子类别,它们的名称相同,但父类别不同,等等。我已尝试按照您的示例对代码进行编码,但是字符串仍然没有被编码?我试图传递的值是直接从我的数据库中提取的,如果有帮助的话。你能在浏览器网络面板中查看提交的确切URL吗?你能粘贴到这里吗?在我看来,首先呈现下拉列表的php并没有在值周围加引号。HTML看起来像etc。如果没有引号,则不能在值中包含空格。
var category=$('#BusinessCreateCategory').val();
var encoded= encodeURIComponent(category);
window.location.href='getbusinesssubcategory.php?category='+encoded;
$('#BusinessCreateCategory').change(function(){
var category=$('#BusinessCreateCategory').val();
var encoded = encodeURIComponent(category);
window.location.href='getbusinesssubcategory.php?category='+encoded;
});