Javascript 如何在不刷新页面的情况下发布URL参数更改的ajax帖子

Javascript 如何在不刷新页面的情况下发布URL参数更改的ajax帖子,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,根据URL参数的变化,html中的“我的值”会发生变化。因此,基本上我将这些值传递给json文件。由于帖子导致页面刷新,我的值被删除。我尝试了事件预防默认值,但它对我无效 var carryOver ={"Jan":"","Feb":""}; var parameters = getParameterByName('month')//gets the current URL parameter if(parameters == '01-2017'){ $('#monthQuota').h

根据URL参数的变化,html中的“我的值”会发生变化。因此,基本上我将这些值传递给json文件。由于帖子导致页面刷新,我的值被删除。我尝试了事件预防默认值,但它对我无效

var carryOver ={"Jan":"","Feb":""};
var parameters = getParameterByName('month')//gets the current URL parameter
if(parameters == '01-2017'){
    $('#monthQuota').html(janQuota);
    carryOver["Jan"] = 300;
}
else if(parameters == '02-2017'){
    carryOver["Feb"] = 400;
}
$(function() {
  $('parameters').on('change', function (e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "utilization-2017-test.php",
        data: {
           json: JSON.stringify(monthBalances)
        }
      })
    })
 })

主席先生,javascript或jquery可以检测到#(散列)更改,但不能检测到参数更改。如果您单击链接并#标记已更改,则脚本或事件将检测到该更改,页面将不会重新加载,但要更改参数,您需要在浏览器Url中输入一个条目,以便刷新您的值


因此,请做一件事,保留一个文本框,并在其中输入值,然后从文本框中获取值并进行服务调用,而不是从URL获取输入,先生,javascript或jquery可以检测#(散列)更改,但不更改参数。如果单击链接并#标记已更改,则脚本或事件将检测到该更改,页面将不会重新加载,但要更改参数,您需要在浏览器Url中输入一个条目,以便刷新值


因此,请做一件事,保留一个文本框并在其中输入值,然后从文本框中获取值,然后进行服务调用,而不是从URL获取输入,我们缺少一些详细信息。首先,在('change'..)上,'这是如何激发的?这将是一个有趣的getParameterByName`。这是查询字符串参数还是哈希参数?请
$('parameters')
。参数是哪个属性
class
id
tag
<代码>参数是一个未定义的参数。您能否向我们展示HTML,以便我们了解您的
是如何设置的?我们需要看到这一点来检查
.on()
jQuery方法,这是在
.ajax()
方法之前首先触发的方法。如果表单正在重新加载页面,则听起来好像
.on()
设置不正确。您是否尝试过在
.on()
函数的作用域内记录一些内容以确保其正常工作?另外,请确保使用了正确的jQuery选择器:通常仅使用单词,如
参数
仅用于元素,而不是类或ID(
.foo
#foo
),我们缺少一些细节。首先,在('change'..)上,'这是如何激发的?这将是一个有趣的getParameterByName`。这是查询字符串参数还是哈希参数?请
$('parameters')
。参数是哪个属性
class
id
tag
<代码>参数是一个未定义的参数。您能否向我们展示HTML,以便我们了解您的
是如何设置的?我们需要看到这一点来检查
.on()
jQuery方法,这是在
.ajax()
方法之前首先触发的方法。如果表单正在重新加载页面,则听起来好像
.on()
设置不正确。您是否尝试过在
.on()
函数的作用域内记录一些内容以确保其正常工作?另外,请确保使用了正确的jQuery选择器:通常仅使用单词,如
参数
仅用于元素,而不用于类或ID(
.foo
#foo
)。