2013-07-13 116 views
0

我與阿賈克斯一點點問題,並從jQuery的傳遞POST數據到PHP,然後從PHP回返回值寫入div標籤Ajax調用jQuery的不工作

這是代碼:

JS

function jsAjax() 
{ 

    $.ajax(
    { 

     type:"POST", 
     url:"http://localhost/anonsecrets/functions/jswrapper.php", 
     data:{name:"Ilija", phone:"0343014"}, 
     success:function(data) 
     { 
      $("#msg").html(data); 
     }, 
     error:function() 
     { 
      alert("Neuspenos"); 
     } 
    }); 
}; 

PHP

<?php 

echo $_POST['name']; 

?> 

和HTML

<div id="msg"></div> 
<a href="" target="" onclick="jsAjax()"><div id="headerbutton">Best</div></a> 
+1

你還沒有描述你的問題。發生了什麼,或沒有發生? – 2013-07-13 16:56:53

回答

0

<a href="" 

這樣你的頁面將不會點擊a標籤,這使得AJAX請求

+0

是的,那幫助我。謝謝 :) –

0

你有後重新裝載修改你的HTML

<a href="#" 

在某種onLoad語句中的整個函數?在可以使用之前,JQuery需要可用於DOM。

http://api.jquery.com/ready/

ANKIT也與標籤正確。

1

您可以使用jQuery單擊處理程序中加入id鏈接

例子:

HTML

<div id="msg"></div> 
<a href="" id="msg-link" target=""><div id="headerbutton">Best</div></a> 

JS

$('#msg-link').click(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: {name: "Ilija", phone: "0343014"}, 
     success: function(data) 
     { 
      $("#msg").html(data); 
     }, 
     error: function() 
     { 
      alert("Neuspenos"); 
     } 
    }); 
}); 
2

你也可以做到以下到您的HTML

<a href="" target="" onclick="jsAjax(); return false;"><div id="headerbutton">Best</div></a> 

這就保證了點擊是由瀏覽器忽略,旁白說,你應該確保頁面的URL是在本地主機域還,避免因CORS問題(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)發出

0

Jonathan,

你沒有描述當你點擊鏈接時會發生什麼。如果頁面在不進行Ajax調用的情況下重新加載,Ankit的解決方案將工作。如果您很難找到確切的原因,請嘗試在安裝Firebug擴展後在Firefox上進行測試。在Firebug控制檯中,如果有的話,你會看到Javascript錯誤。