我想知道 - 在哪里处理正确的地方,例如Cordova应用程序中的ajax请求。我是Cordova的新手(几天前开始),所以我只是通过简单地将ajax代码放入'ajaxHandler.js'文件来实现。 然后在应用程序的index.html中我将它加载到正文的末尾:
<script type="text/javascript" src="js/ajaxHandler.js"></script>
我如何处理请求的示例: 假设我们有一个id为'#SendRequest'的按钮,然后在'ajaxHandler.js'中我会这样做:
$('#sendRequest').on('click', function(){
var json_data = {...someData...};
$.ajax({
type: 'POST',
url: 'http://localhost:3000/some_url',
data: json_data,
success: function(dataR){
processData(dataR);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log("Status: " + textStatus); console.log("Error: " + errorThrown);
},
timeout: 5000 // sets timeout to 3 seconds
});
return false;
});
function processData();处理服务器返回的数据也在同一个文件中定义。
然而,我尝试阅读一些教程,人们似乎将所有应用功能集成到自动生成的'index.js'
例如我会这样做:
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onDeviceReady: function() {
console.log(" device ready!");
$("#sendRequest").click(sendAjaxRequest);
}
};
//define variables and functions here
function sendAjaxRequest{..function..};
//then call app.initialize
app.initialize();
我做的方式似乎工作得很好,我喜欢我的方式,因为我可以将代码组织到不同的文件中。例如,我的应用程序中有很多按钮用于打开菜单,切换页面等。我处理'interface.js'中的'click',我处理请求,如前面'ajaxHandler.js'中提到的那样,等等上。然后我只是在index.html的body的末尾添加文件。通过这种方式,代码组织起来并且乐于使用。
我是否应该在'index.js'中填写应用程序的所有功能,如果是,为什么? Cordova的文档没有明确说明“正确”的做事方式。