这真是令人沮丧..!
当使用带有预定义页面的 jQuery Mobile 时,一切都很顺利和容易,但是更复杂的项目呢?
我正在开发一个基于先前答案呈现下一页的调查系统。因此,每个页面都必须将当前问题提交给外部 API 并获取下一个问题。
我的第一选择是在 JS 上大放异彩,但它的主要问题是数据必须通过 AJAX 发送,然后注入新的结构化 HTML 必须“刷新”才能很好地呈现。除此之外,所有 AJAX 请求都必须有它们的回调,因为它会创建一个混乱的代码。因此,在我的案例中,一项包含 20-30 个问题的调查由 15 种不同类型的表单组成,其中大量使用了回调和嵌套回调。
然后我以 PHP 为基础重写了项目。使用一个“data-role=page”实例提交到同一页面的表单(包含调查问题)。通过 CURL 请求,我发送了答案并得到了下一个问题,生成了 HTML 结构,瞧——这一切都呈现得很漂亮,无需触发刷新。
但是使用这种方法有其自身的问题:
- 提交到同一页面会使您无法进行页面转换 ,并为您留下默认的淡入淡出转换。
- jQuery mobile 有这种奇怪的缓存(即使在我使用了所有方法来禁用它之后)
- 将数据从页面传递到页面很棘手 - GET 有长度限制
,并且 POST 不适合我的需要,因为实际的 CURL 请求必须提交“param1=val1&..”)
那么,在处理复杂且动态的项目时,使用 jQuery Mobile 的最佳方式是什么?
谢谢,