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

2020-02-13 02:09发布

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).

3条回答
做个烂人
2楼-- · 2020-02-13 02:49

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.

查看更多
不美不萌又怎样
3楼-- · 2020-02-13 02:55

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);
 })
)};
查看更多
小情绪 Triste *
4楼-- · 2020-02-13 03:07

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
       }
     });
}
查看更多
登录 后发表回答