2011-08-23 48 views
1

我遇到了從服務器讀取數據的問題。數據存儲爲csv字符串,我使用php來讀取數據。當我的數據,從發佈到http://www.example.comhttp://www.foobar.com/write.php工作

讀取數據

<?php 
    header('Content-Type: text/plain'); 
    $csv = file_get_contents('string.csv'); 
    echo $csv; 
?> 

$.ajax({ 
    type: 'GET', 
    url: 'http://www.foobar.com/csv.php', 
    async: false, 
    data: null, 
    success: function(text) { 
     sv_serverArray = text.split(","); 
     alert(sv_serverArray); 
    } 
}); 

的Ajax調用在域http://www.example.com php文件送達做了http://foobar.com/csv.php

!但不是相反。

寫入數據

<?php 
    $list = $_POST["array"]; 
    $fp = fopen('string.csv', 'w'); 
    fputcsv($fp, $list); 
    fclose($fp); 
?> 

$.post("http://www.foobar.com/write.php", { 'array': sv_defaultArray}); 

問題是什麼,爲什麼我只能寫和讀不懂?!如果有什麼我應該得到錯誤的其他方式!

回答

4

$.post()產生的水下,並使用該帖子。發佈時它是一個真正的請求。 $.get()使用XMLHttpRequest,它由Same-Origin Policy綁定。規避這種情況的最好方法是jsonp。 (將CSV轉換爲json或封裝它)。

2

檢查跨域解決方案here ..

相關問題