【发布时间】:2015-08-24 14:25:57
【问题描述】:
我正在尝试将变量传递给 jquery ajax 请求:
$(document).ready(function() {
// get page number
var page = parseInt(getUrlParameter('page'));
if (page < 1) page = 1;
var page_next = page + 1;
$.ajax({
type: "GET",
data: {
page: page,
},
dataType: 'json',
...
不幸的是,变量“page”似乎不存在于 ajax 请求中。做一个 cosole.log(page); inside 揭示了“NaN”作为一个值。
问题好像是
if (page < 1) page = 1;
如果通过 get 检索到的这个值不存在,那么页面将为 NoN。
如何确保页面始终定义为最小 1?
【问题讨论】:
-
该方法是绝对正确的,错误可能在函数
getUrlParameter('page')中,它没有返回有效的响应(或者不是数字或任何可以转换为此类的东西)。你能告诉我们这个功能吗? -
从您目前共享的代码来看,该方法的唯一问题是you don't have a radix on parseInt,但这不会导致此问题。正如 briosheje 所说,
getUrlParameter返回的任何东西都不是可以转换为数字的东西,因此:NaN:不是数字 -
问题似乎出在上面的人指出的 getURLParameter 函数上。尝试使用 var page = 1;并查看变量是否包含值 1。
-
刚刚缩小了错误范围。问题在于: if (page
-
@merlin 请检查我的回答,如果您收到 Nan,我建议进行验证,以便将页面默认为 1。
标签: javascript jquery ajax