javascript - 如何在不刷新页面的情况下通过ajax发布URL参数更改

标签 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').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可以检测到#(hash)更改,但不能检测到参数更改。如果您单击链接并且#tag发生更改,则脚本或事件将检测到这一点,并且页面不会重新加载,而是更改参数您将在浏览器 URL 中查找一个条目,因此您的值会刷新。

因此,请做一件事,保留一个文本框并输入值,然后从文本框中获取值并进行服务调用,而不是从 URL 获取输入

关于javascript - 如何在不刷新页面的情况下通过ajax发布URL参数更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42129576/

相关文章:

javascript - 在 Javascript 变量中转义引号的通用方法

php - PHP/Codeigniter/jQuery/MySQL 的最佳数据访问方法

php - Jquery 从数据库表自动建议

jquery - 如何使用 jQuery DataTables 发布整个表的数据

javascript - 正确缩放图像但适合 div

javascript - 在 Angular 6 中创建一个秒表

javascript - 将 innerHTML 更改为由它的 ClassName 捕获的 div 的 Id 的值

php - 从数组中的字符串中删除“

javascript - 数据表激活单单元格编辑onclick

JQuery Xeditable 不适用于 Angular2