2013-05-22 35 views
0

我從昨天開始搜索,不知道,我無法執行,或者走錯方向。 這正與本地服務器我目前AJAX功能使用AJAX從其他服務器上獲取數據時鼠標移過

function tooltipajax(r_ID) 
{ 
    var str ; 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById('span'+ r_ID).innerHTML = xmlhttp.responseText ; 
     } 
    } 

    xmlhttp.open("GET","accounteditajax.php?key=" +r_ID,true); 
    xmlhttp.send(); 
} 

PHP代碼:

print("<tr bgcolor=\"#EEEEEF\">"); 
print("<td class='normal' id=\"serialno\" onMouseOver='tooltipajax(this.id)'> 
<a class=\"tooltip\" >Serial Number <span id=\"spanserialno\" 
class=\"custom info\"></span> </a></td>"); 
print("<td bgcolor = \"#FFFFFF\" ><b>$serial</b></td>\n"); 
print("</tr>\n"); 

如何從另一臺服務器獲取數據?

xmlhttp.open("GET","accounteditajax.php?key=" +r_ID,true); 

我想如果你使用使用jQuery像這樣從

http://iphere/filename.php 
+0

是否其他服務器允許CORS或你有使用JSONP? –

+0

你說這是在你的本地服務器上工作。你從其他服務器得到什麼錯誤? –

+0

服務器允許,我沒有JSONP的想法,所以我需要此幫助 –

回答

0

得到,這個工程。

function tooltip_ajax(r_ID) { 
    $.ajax({ 
     url: "http://iphere/filename.php?id=" + r_ID, 
     context: document.body, 
     success: function(data) { 
      if(data) { 
       $('span' + r_ID).html(data); 
      } 
     } 
    }); 
} 

這是用不同的服務器進行測試,它的工作原理。

+0

嘿,我試圖使用這段代碼,但它沒有顯示任何關於鼠標的事情,請告訴我如何從另一臺服務器獲取?是否需要添加一些GET? –

+0

我已添加類型:「GET」,但仍不起作用 –

+0

這不適用於其他服務器。跨域請求限制將啓動。這些限制是否限於IP地址是另一個問題,即從同一個IP上的其他域請求可能會工作,或者本地域可能有較輕的限制,但AFAIK這些限制是非常嚴格的。 – Seidr

0

爲了使用AJAX從其他服務器檢索數據,您需要使用JSONP。這是由於對AJAX請求的跨域限制。若要進一步擴展,如果您想要從位於http://test1.com的頁面發送AJAX請求到位於http://test2.com的頁面/腳本,您將不被允許。

退房本文的詳細信息:http://www.jquery4u.com/json/jsonp-examples/

基本上,JSONP涉及添加一個臨時SCRIPT標籤頁,其中可以加載外部內容。此SCRIPT標籤的URL包含數據和回調函數名稱。然後,JSONP應該用數據進行響應,並附上對該函數的調用。當然,其中一個缺點是目標服務器必須支持JSONP請求。

另一種方法是在本地使用橋PHP腳本,利用CURL發出請求,並通過AJAX將信息返回給您的頁面。

有關使用CURL在PHP更多的信息,看看這篇文章:http://codular.com/curl-with-php

+0

我讀了很多,但仍然無法實現:( –

+0

)在PHP中查看CURL - 我想你可以實現你想要做的事情。從AJAX請求中獲取參數,請求目標URL使用CURL,並將響應返回給客戶端 – Seidr

+0

我要使用AJAX實現它,不能在那裏使用CURL –

相關問題