1

有没有办法从 ePub 书中将数据写入服务器?

我正在尝试创建一个交互式活动来与一些书籍内容一起使用,并且我想将用户在活动中的响应写入服务器上的数据库。

我对活动的所有 JavaScript 和数据库的所有服务器端代码都很满意;但我似乎无法弄清楚如何将数据从 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 包中。

任何意见是极大的赞赏。

谢谢!

4

2 回答 2

1

据我所知,Apple 不会让您从 Internet 获取任何数据到您的 epub(至少在 iBooks 中)。

仍然在 iBooks 中,您不能使用 POST 请求从您的 epub 发送数据。您可以将数据发送到 Internet 的唯一方法是使用 GET 请求,我认为您只能通过创建一个简单的链接而不是使用 AJAX 请求来做到这一点。

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

我不知道其他 epub 阅读器是否也是如此……但 Apple 刚刚锁定了 iBooks。

如果我错了,请告诉我,我有兴趣知道。

于 2013-04-18T12:39:55.633 回答
0

如果您将图书打包在 iBooks author 中并将 JavaScript 创建为 HTML 小部件,Apple 将允许远程连接。我也试过做同样的事情,但为了让它与 epub 一起工作而头疼。试一试小部件和 iBooks 作者,我的书甚至在后台自动更新新数据。Trevor Burnham 有一个出色的小部件模板,您可以在这里使用:https ://github.com/TrevorBurnham/iBooks-HTML-Widget-Boilerplate

于 2013-08-21T13:03:25.133 回答