2015-04-18 116 views
3

我正在使用jQuery插件與jQuery和JavaScript的客戶端項目一起工作。我們的教授向我們提供了一個proxy.php文件,用於提取運行Web應用程序所需的數據。我使用了導入jquery.min.js文件的easy tab插件。但我不斷收到錯誤,並且proxy.php文件無法加載。XMLHttpRequest無法加載和未捕獲NetworkError

這是proxy.php文件。

<?php 
    error_reporting(0); 
    define ('HOSTNAME', 'http://simon.ist.rit.edu:8080/Services/resources/ESD'); 
    if($_POST['path']){ 
     $hold=explode('?',$_POST['path']); 
     $path=$hold[0]; 
     $post=$hold[1]."&ip=".$_SERVER['REMOTE_ADDR']; 
     $url= HOSTNAME.$path; 
     $session = curl_init($url); 
     curl_setopt($session, CURLOPT_HEADER, false); 
     curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($session,CURLOPT_POST,1); 
     curl_setopt($session,CURLOPT_POSTFIELDS,$post); 
    }else{ 
     $url=HOSTNAME.$_GET['path']; 
     $session = curl_init($url); 
     curl_setopt($session, CURLOPT_HEADER, false); 
     curl_setopt($session, CURLOPT_RETURNTRANSFER, true); 
    } 
    $xml = curl_exec($session); 
    header("Content-Type: text/xml"); 
    echo $xml; 
    curl_close($session); 
    ?> 

這些是我不斷收到的錯誤。我該如何解決?

XMLHttpRequest cannot load file:///C:/Users/Kubra/Desktop/Project2/proxy.php 
?path=%2FCities%3Fstate%3DNY&_=1429379822193. 
    Cross origin requests are only supported for protocol 
schemes: http, data, chrome, chrome-extension, https, 
chrome-extension-resource. jquery.min.js:6 

Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': 
    Failed to load 'file:///C:/Users/Kubra/Desktop/Project2 
    /proxy.php? path=%2FCities%3Fstate%3DNY&_=1429379822193'. 
+0

你在服務器上運行這個地方你的PHP文件所在? –

+0

看起來你用來在客戶端JavaScript代碼中激發AJAX調用的URL存在問題。將此'file:/// C:/ Users/Kubra/Desktop/Project2/proxy.php'更改爲有效的URL。同時添加您的客戶端JS代碼以獲得更好的分辨率 – Arkantos

回答

1

您不能使用XMLHttpRequest從本地文件系統加載東西。

您需要在實際的網絡服務器上託管您的網站。

看到這個答案的詳細資料:xmlhttprequest for local files

相關問題