这两天学习了下,jquery mobile(以下简称jqm)的开发相关的内容。可能之前有过web的开发基础,相对于我来说学习这个东西感觉挺简单的,很容易上手。Jqm的的语法和jquery其实是一样的,有些不大一样的就是了。网上介绍的也是一大堆。这里我主要是做笔记哈。

使用JQM开发其实很简单,我这里目前是针对于在服务器端开发的,服务器使用的是apache+php,前端其实主要是html5+jquery的写法。

1、首先我们可以到官网去下载jquery mobile,然后下载完成后,我们可以看到如下的的目录结构。

jqm的包里已经包含了demo和核心代码。jqm提供的demo很全面,直接学习它基本就够了。 既然下载好了,我们就可以进行开发了,概念的东西我就不多说了,直接上代码。

2、编写form表单页面。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>表单</title>
  7. <!--加载jqm css样式-->
  8. <link rel="stylesheet"  href="css/jquery.mobile-1.2.0-rc.2.css" />
  9. <!--加载jquery-->
  10. <script src="js/jquery.js"></script>
  11. <!--加载jquery mobile-->
  12. <script src="js/jquery.mobile-1.2.0-rc.2.js"></script>
  13. <script src="js/ajax.js"></script>
  14. </head>
  15. <body>
  16. <div data-role="page" data-fullscreen="true"><!--data-fullscreen 设置全屏-->
  17. <div data-role="header"   data-position="inline"><!--data-position="inline" 设置以流的方式显示-->
  18. <a href="index.html" data-icon="delete">Cacel</a>
  19. <h1>表单demo</h1>
  20. </div><!-- /header -->
  21. <div data-role="content">
  22. <form id="ajaxForm">
  23. <div data-role="fieldcontain">
  24. <label for="username">User Name:</label>
  25. <input type="text" name="username" id="username" data-mini="true"/>
  26. <h3 id="notification"></h3>
  27. <button data-theme="b" id="submit" type="submit">Submit</button>
  28. </div>
  29. </form>
  30. </div><!-- /content -->
  31. <div data-role="footer"  data-position="fixed">
  32. <h4>Page Footer</h4>
  33. </div><!-- /footer -->
  34. </div><!-- /page -->
  35. </body>
  36. </html>

3、编写服务器端脚本form.php(这里我使用php)

  1. <?php
  2. $username = $_POST['username'];
  3. echo "User Name:".$username;
  4. ?>

4、编写ajax脚本ajax.js

  1. $(function() {
  2. $('#submit').bind('click', function() {
  3. var formData = $('#ajaxForm').serialize();
  4. //.serialize() 方法创建以标准 URL 编码表示的文本字符串
  5. $.ajax({
  6. type : "POST",
  7. url  : "form.php",
  8. cache : false,
  9. data : formData,
  10. success : onSuccess,
  11. error : onError
  12. });
  13. return false;
  14. });
  15. });
  16. function onSuccess(data,status){
  17. data = $.trim(data); //去掉前后空格
  18. $('#notification').text(data);
  19. }
  20. function onError(data,status){
  21. //进行错误处理
  22. }

4、创建android的工程,使用webview进行访问。

layout:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5. <WebView
  6. android:id="@+id/webview"
  7. android:layout_width="fill_parent"
  8. android:layout_height="fill_parent"  />
  9. </RelativeLayout>

java代码:

  1. package com.xzw.html;
  2. import android.app.Activity;
  3. import android.app.ProgressDialog;
  4. import android.graphics.Bitmap;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.KeyEvent;
  8. import android.view.View;
  9. import android.view.Window;
  10. import android.webkit.WebChromeClient;
  11. import android.webkit.WebView;
  12. import android.webkit.WebViewClient;
  13. /**
  14. *
  15. * @author xuzw13@gmail.com
  16. * weibo:http://weibo.com/xzw1989
  17. *
  18. */
  19. public class MainActivity extends Activity {
  20. private static final String TAG = "MainActivity";
  21. private WebView webView;
  22. @Override
  23. public void onCreate(Bundle savedInstanceState) {
  24. super.onCreate(savedInstanceState);
  25. requestWindowFeature(Window.FEATURE_NO_TITLE);
  26. setContentView(R.layout.activity_main);
  27. webView = (WebView)findViewById(R.id.webview);
  28. webView.getSettings().setSupportZoom(true);
  29. webView.getSettings().supportMultipleWindows();
  30. webView.getSettings().setJavaScriptEnabled(true);
  31. webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
  32. webView.loadUrl("http://192.168.1.120/jquerymobile/index.html");
  33. webView.setWebChromeClient(new WebChromeClient(){
  34. @Override
  35. public void onProgressChanged(WebView view, int newProgress) {
  36. super.onProgressChanged(view, newProgress);
  37. }
  38. });
  39. webView.setWebViewClient(new MyWebViewClient());
  40. }
  41. private class MyWebViewClient extends WebViewClient{
  42. @Override
  43. public void onLoadResource(WebView view, String url) {
  44. Log.i(TAG, "onLoadResource:" + url);
  45. super.onLoadResource(view, url);
  46. }
  47. @Override
  48. public void onReceivedError(WebView view, int errorCode,
  49. String description, String failingUrl) {
  50. Log.i(TAG, "onReceivedError:" + failingUrl+" \n errorcode="+errorCode);
  51. super.onReceivedError(view, errorCode, description, failingUrl);
  52. }
  53. @Override
  54. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  55. Log.i(TAG, "shouldOverrideUrlLoading:" + url);
  56. view.loadUrl(url);
  57. return true;
  58. }
  59. @Override
  60. public void onPageStarted(WebView view, String url, Bitmap favicon) {
  61. Log.i(TAG, "onPageStarted:" + url);
  62. }
  63. @Override
  64. public void onPageFinished(WebView view, String url) {
  65. Log.i(TAG, "onPageFinished:" + url);
  66. }
  67. };
  68. @Override
  69. public boolean onKeyDown(int keyCode, KeyEvent event) {
  70. if((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()){
  71. webView.goBack();
  72. return true;
  73. }
  74. return super.onKeyDown(keyCode, event);
  75. }
  76. }

代码就是全部代码了。

今天就写到这里,继续干活了。欢迎大家一起交流学习。

转载于:https://blog.51cto.com/xuzhiwei/1009683

jquery mobile开发笔记之Ajax提交数据相关推荐

  1. ajax提交数据给谁,jquery ajax提交数据给后端

    大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...

  2. ajax提交成功清空表单,Ajax提交数据后,清空form表单

    按钮不同,页面相同,还需要显示的数据不同,这里会由于页面的缓存问题,导致,每次点开这个页面显示的数据相同. 这不是我们想要的.这就需要清楚表单数据了. 如下: $('#myform')[0].rese ...

  3. 18 个 jQuery Mobile 开发贴士和教程

    jQuery Mobile 是 jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持 ...

  4. ajax提交数据到后台php接收

    在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非常的简 ...

  5. 跨平台APP JQuery Mobile开发-张晨光-专题视频课程

    跨平台APP JQuery Mobile开发-1170人已学习 课程介绍         jQuery Mobile 是创建移动 web 应用程序的框架: 适用于所有流行的智能手机和平板电脑,使用 H ...

  6. 视频教程-跨平台APP JQuery Mobile开发-jQuery

    跨平台APP JQuery Mobile开发 主要研究方向为J2EE..net .数据库 .前端.Android,曾经服务过大型上市国企IT部门,软件企业联合创始人,对软件研发管理.市场营销有自己独特 ...

  7. 用ajax提交数据到ashx用JSON.stringify格式化参数后在服务器端取不到值?[转载至:http://q.cnblogs.com/q/34266/]...

    用ajax提交数据到ashx用JSON.stringify格式化参数后在服务器端取不到值?[转载至:http://q.cnblogs.com/q/34266/] 前台代码: $(function () ...

  8. jQuery Mobile学习笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  9. Django中Ajax提交数据的CSRF问题

    错误信息: Forbidden (CSRF token missing or incorrect.): 什么是CSRF: django为用户实现防止跨站请求伪造的功能,通过中间件 django.mid ...

最新文章

  1. 格灵深瞳CTO邓亚峰:AI学习的三种路线
  2. 算术表达式求解背景_1.8 C++算术运算符与表达式
  3. 在你的网站集成Wiki系统 WikiPlex
  4. .net vue漂亮登录界面_基于 electron-vue 开发的音乐播放器「实践」
  5. 浙大计算机科学与技术FPGA,Computer Science 计算机科学与技术系 重要国际学术会议...
  6. spring security原理图及其解释
  7. linux哪国的,Linux是什么它是哪个国家开发的
  8. Matlab2013a破解问题
  9. matlab pdetool解热传导方程,传热学与应用(李晓炜)基于pdetool的热传导数值计算.pdf...
  10. Swift学习笔记 -- 枚举和结构
  11. 人脸识别门禁应用方案
  12. 字符串的交叉合并c语言,C语言 两字符串的合并
  13. Java曲线之削峰填谷,四种用户侧“削峰填谷”储能技术方案对比:最快8.26年,最多收益71.76万元...
  14. 安霸Ambarella三款CV系列芯片对比--CV2S、CV22S、CV25S
  15. python 数组去重复
  16. 四川大学计算机学院2016级毕业生,小猿分享 | 四年磨一剑:计算机学院2016级优秀毕业生高含宁专访...
  17. 上海JAVA5月就业环境,各位上海的大佬们呀 我准备下个礼拜出去上海找工作了!一年半的...
  18. 无线系列 - 5G大规模MIMO阵列仿真及混合波束成形设计
  19. Redis常用的命令(一)-------启动、配置等
  20. uniapp微信小程序证件识别

热门文章

  1. mach空串 php preg_PHP 优化详解
  2. python游戏编程快速上手第四版dragon_《Python游戏编程快速上手》——导读
  3. cesium鼠标控制键盘_用 Python 控制 鼠标和键盘,花式操作
  4. python request.get乱码_python的request中文乱码怎么办
  5. GDB多进程调试(转)
  6. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_2_继承的格式
  7. Linux使用storcli工具查看服务器硬盘和raid组信息
  8. 烦神的斐波那契洛谷-1306-斐波那契公约数
  9. Python爬虫:scrapy 的运行流程和各模块的作用
  10. Web运行控制台输出乱码解决总结