使用jQuery获取链接的属性,并将其作为表单发布到另一个脚本文件


Using jQuery to grab attributes of link and spit as form post to another script file

我想获取<a href>链接的属性,并将这些属性作为post数据吐到另一个脚本文件中。以下是我到目前为止所做的事情的细节

Html链接

<a href="#" class="submit-button" id="deleteRecord" attr1="xyz" attr2="abc" >Delete</a>

现在jQuery代码如下

$(document).ready(function(){
  //Other code here
  $(document).on('click','#deleteRecord',function(){
    //I want to submit variables attr1 and attr2 as post data to delete_post.php
  });
});

提前谢谢。

如果您不确定要发布多少属性,请使用data属性和循环:

<a href="#" class="submit-button" id="deleteRecord" data-something="blah" data-attr1="xyz" data-attr2="abc" >Delete</a>

脚本:

$(document).ready(function(){
     $(document).on('click','#deleteRecord',function(e){
        e.preventDefault();
        var postData = {};
        $.each($(this).data(), function(k,v) {
            postData[k] = v;
        });
        $.ajax({
            type    : 'post',
            url     : 'delete_post.php',
            data    : postData,
            success : function (data) {
                // do something with data...
                console.log(data);
            },
            error   : function (obj,status,error) {
                // do something when error...
            }
        });
    });
});

,你可以这么做

$(document).ready(function(){
  //Other code here
  $(document).on('click','#deleteRecord',function(){
    //I want to submit variables attr1 and attr2 as post data to delete_post.php
    
    var link = $("#deleteRecord");
    var formData = new FormData();
    
    // perform validations
    
    // append to formData
    formData.append("attr1", link.attr("attr1");
    formData.append("attr2", link.attr("attr2");
    
    // ajax post
    $.post("") 
    
  });
});

试试这个:

<a href="#" class="submit-button" id="deleteRecord" data-attr1="xyz" data-attr2="abc" >Delete</a>

JQuery:

$(document).on('click','#deleteRecord',function(){
   var attr1= $(this).data('attr1');
   var attr2= $(this).data('attr2');
    $.ajax({
    type: "POST",
    url: 'delete_record.php',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: '{"attr1":' + attr1+ ', "attr2":"' + attr1+ '"}',
    success: function(result){
    var data = result.d;
    },
    error: function (xhr, reason, ex) {
        var err = $.parseJSON(xhr.responseText);
        if (err != null && xhr.status.toString() != "0") {
            showerror('Error Code : ' + xhr.status + "'nError Message :" + xhr.statusText);
        }
    }
});
});

参考:

http://api.jquery.com/data/