【问题标题】:Two actions to call a script Ajax调用脚本 Ajax 的两个动作
【发布时间】:2015-12-29 04:58:56
【问题描述】:

我有一个使用 Ajax 调用 PHP 脚本的函数,我想添加另一个事件来调用相同的 PHP 页面,如何添加它而不是重复相同的 Ajax 调用?

$('.episodeNum').change(function(){
    var formItems = $('form.addMedia').serialize();
    var dataString = formItems;

    $.ajax({
    type: "POST",
    url: "grabMedia.php",
    data: dataString,
    dataType: "json",
    success: function(data) {

我想添加一个点击函数来调用相同的脚本:

$('.clickButton').click(function(){
    var formItems = $('form.addMedia').serialize();
    var dataString = formItems;

    $.ajax({
    type: "POST",
    url: "grabMedia.php",
    data: dataString,
    dataType: "json",
    success: function(data) {

如何将两者结合起来??

感谢您一如既往的帮助

【问题讨论】:

    标签: php ajax onclick onchange


    【解决方案1】:

    可以制作代码的一个函数,并且可以在两个事件上调用它:

    function post_data()
    {
        var formItems = $('form.addMedia').serialize();
        var dataString = formItems;
    
        $.ajax({
        type: "POST",
        url: "grabMedia.php",
        data: dataString,
        dataType: "json",
        success: function(data) { }
    }
    
    $('.episodeNum').change(function(){
        post_data();
    });
    
    $('.clickButton').click(function(){
        post_data();
    });
    

    【讨论】:

    • 你为什么不写$('.episodeNum').change(post_data);$('.clickButton').click(post_data);
    【解决方案2】:

    这符合您的需要吗?

    var post_data = function()
    {
        var formItems = $('form.addMedia').serialize();
        var dataString = formItems;
    
        $.ajax({
        type: "POST",
        url: "grabMedia.php",
        data: dataString,
        dataType: "json",
        success: function(data) { }
    };
    
    $('.episodeNum').change(post_data);
    
    $('.clickButton').click(post_data);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      • 2014-03-08
      • 2016-05-14
      • 1970-01-01
      • 2014-07-30
      相关资源
      最近更新 更多