How to do an onclick ajax call to a php file, with

2020-02-13 03:00发布

问题:

I have a link, which links to domain.com , when a person clicks, I want it to do an ajax call to counter.php and post 2 variables to it, so it can add 1 to the views for that link.

I have a link:

<a href="http://www.domain.com" onClick="addHit('12345', '1')" rel="nofollow" target="_blank">Link Title</a>

How would I do this with jquery?

EDIT:

I tried something like this

function addHit(str, partNumber){
$.get("counter.php", { version: str, part: partNumber })                
}

It seems to work, but in firebug, the request never completes... it just does that "working..." animation. counter.php echos out some text when its done (doesnt need to show up anywhere).

回答1:

From the jQuery documentation: http://api.jquery.com/jQuery.ajax/

function addHit(data1, data2)
{
    $.ajax({
       type: "POST",
       url: "http://domain.com/counter.php",
       data: "var1=data1&var2=data2",
       success: function(msg){
         alert( "Data Saved: " + msg ); //Anything you want
       }
     });
}


回答2:

You need to add a callback on success

function addHit(str, partNumber){
$.get(
"counter.php", 
{ 
 version: str, 
 part: partNumber 
},
function(data){
   alert("Data Loaded: " + data);
 })
)};


回答3:

In the case of an anchor, you're leaving the page, so firebug's going to show some weird behavior here as it thinks execution would stop. Unless you're also preventing the default event behavior of the anchor...you're leaving the page and the request (in firebug's view) is discarded.