2013-03-30 44 views
1

是否有方法從ePub書籍中將數據寫入服務器?如何從ePub書籍向服務器寫入

我想創建一個交互式活動,以配合一些書籍內容,並且我想將活動中的用戶響應寫入服務器上的數據庫。

我很喜歡所有的JavaScript活動和DB的所有服務器端代碼;但我似乎無法弄清楚如何從ePub書籍中獲取數據到服務器。如果它甚至可能?

我已經嘗試使用jQuery與AJAX,我也試圖使用XMLHttpRequest。

我已經得到了工作最接近的事導致的錯誤信息:行XXXX錯誤在列XXXX:xmlParseEntityRef:沒有名字

下面的代碼片段:

var objRequest = new XMLHttpRequest(); 

objRequest.open("POST", "http://www.example.com/write.php?action=yes", false); 
objRequest.send(); 

if (objRequest.status != 200 && objRequest.status != 0) { 
    alert("error"); 
} else { 
    alert("success"); 
} 

我相信IF語句行上報告了錯誤。我的ALERT語句都不會觸發。

就像一個說明,這在瀏覽器中工作得很好。只是不在編譯的ePub包中。

任何意見非常感謝。

謝謝!

+2

因此,您正在使用互聯網連接的電子書閱讀器中查看文檔,並且它具有帶有'XMLHttpRequest'的JavaScript環境?我不會期待這一點。 – Bergi

+0

如果您發佈了您的當前代碼,我們只能提供幫助和建議,否則錯誤消息對我們毫無用處。 – Bergi

+0

@Bergi - 我不太瞭解你的評論。是的,ePub允許在本書中使用HTML5和JavaScript。許多不同的電子書閱讀器(例如iBook)都支持這一點。過去我爲書籍創作了許多「互動」活動。我不想第一次寫入服務器。而且,遇到我上面發佈的問題。 – Mark

回答

0

據我所知,蘋果公司不會讓你從互聯網上獲取任何數據到你的epub(至少在iBooks中)。

仍然在iBooks中,您無法使用POST請求從您的epub發送數據。您可以將數據發送到互聯網的唯一方式是使用GET請求,我認爲只有通過建立簡單的鏈接,而不是使用AJAX請求才能做到這一點。

<a href="http://mywebsite.com/myfile.php?mydata=12324&my_other_data=foo"> 
Send data to myfile.php 
</a> 

我不知道這是否是其他EPUB閱讀同樣的事情......但蘋果剛剛鎖定的iBooks。

只要告訴我,如果我錯了,我很想知道。

0

如果您將圖書打包到iBooks作者並創建JavaScript作爲HTML小部件,Apple將允許遠程連接。我曾嘗試做同樣的事情,並且頭疼地試圖讓它與epub一起工作。給小部件和iBooks作者一個鏡頭,我的書甚至在後臺自動更新新數據。 Trevor Burnham有一個很棒的小部件模板,您可以在這裏使用:https://github.com/TrevorBurnham/iBooks-HTML-Widget-Boilerplate