Jquery加载参数

标签 jquery

我有一个问题,因为我正在尝试编写一个加载方法并传递它的参数。我必须填充一个选择:

$("#select").load("page.php?parameter1="$("#parameter").val());

一切看起来都很好,但是当我在选择中选择一些选项时,Firebug 会给我一个错误,因为我发送的参数有一个像这样的空格:例如,如果我想发送“New York”,Firebug 会给我一个由于纽约和纽约相隔,无法识别该参数的错误。

有人可以帮我吗?

谢谢。

最佳答案

如果用于查询参数的字符串包含某些字符(例如空格),则必须对它们进行 URL 编码

var query = encodeURIComponent( $("#parameter").val() );

$("#select").load("page.php?parameter1=" + query);

作为旁注,jQuery 也为此内置了一些东西,这使得构造查询字符串变得更容易

var query = $.param({
                     parameter1: $("#parameter").val()
                   });

$("#select").load("page.php?" + query);

可以在 $.param 中包含任意数量的键/值对并获取有效的查询字符串。

或者,可以将数据直接传递给 load() ,后者又在内部调用 $.param ,这可能是处理此问题的最佳且最简单的方法诸如此类的事情

$("#select").load("page.php", {parameter1 : $("#parameter").val()});

关于Jquery加载参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575235/

相关文章:

php - 如何动态计算每个月的工作日?

javascript - 更改窗口后 Safari 模糊事件循环

使用 Google Drive REST API 的 Javascript 日期格式

jquery - Fullcalendar 插件正在显示非常薄的事件 "unreadable"

javascript - 购买的代码可在 JQuery 1.3.2 上运行,但在 1.5 上不再运行 我应该怎么办?

javascript - jQuery 无法切换工作

javascript - 更改 "value"控件中所选选项的 "Select"属性

javascript - 如何在 RoyalSlider 中设置中心图像宽度?

javascript - 为什么不使用each()创建多个标签?

javascript - 遍历表以及添加新元素时如何获取tr的索引