jQuery及EasyUI学习心得

在VS2010中,如果不能智能提醒,就先要确保JS文件被引入,然后再多次点击“编辑”》》“IntelliSense"》》更新JS。

一、JQUERY部分:

1、在<script>中,如果是需要页面打开就要载入的,需要先写:

  1. $(function(){  
  2.   
  3. });  
然后把需要变成EasyUI的input或div等的ID写入其中,否则他们不能变成你想要的插件。当然,其他的函数,如onclick(),就要写到其外了。

2、$.get()

$.get()是简化的$.ajax()。用法如:

  1. $("button").click(function(){  
  2.   $.get("demo_ajax_load.txt", function(result){  
  3.     $("div").html(result);  
  4.   });  
  5. });  
这里有2个知识点:

① 如果要得到服务器返回的值,就必须用后面加函数的方法。原因是:它是异步调用,JS会在它没有得到远程服务器的值之前,就往下执行了,会导致下面的值并不是你想要的。比如:

  1. var str="";  
  2. $.get("home/serTime",function(data){str=data;});  
  3. alert(str);  
你会发现最后的str并不是从服务器中取回来的结果。因为在服务器还未得到值之前,就已经alert了。但是如果你第二次执行这个语句的话,就会得到上次从服务器返回的内容。

解决这个问题的方法有2种:第一:

  1. $.get("home/serTime",function(data){alert(data);});  
或者,用下面的办法。

② 用$.ajax代替简化版的$.get

$.get 相当于:

  1. $.ajax({  
  2.   url: url,  
  3.   data: data,  
  4.   success: success,  
  5.   dataType: dataType  
  6. });  
get传输参数的用法:
  1. $.get("test.php", { name: "John", time: "2pm" } );  
$.ajax的用法:
  1. $("#ButAjax").click(function() {  
  2.             $.ajax({  
  3.                 type: "POST",  //默认是GET   
  4.                 url: "/AjaxTest/getPerson",  
  5.                 data: "ID=1&FirstName=C&LastName=HY",  
  6.                 async: true,  //异步   
  7.                 cache: false//不加载缓存   
  8.                 success: function(obj) {  
  9.                     alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);  
  10.                 },  
  11.                 error: function() {  
  12.                     alert("请求失败");  
  13.                 }  
  14.             });  
  15.         });  
$.get和$.ajax,默认都是异步调用的。所以如果想让JS语句在本句执行完之后,再执行下一条语句,可以把async设为false,即不要异步调用。所以,同样的:
  1. var str="";  
  2. $.ajax({url:"home/serTime",async:false,success:function(data){str=data;});  
  3. alert(str);  
这样,其结果就是你想要的了。

所以,如果以后在页面处于打开的状态下,再点击按钮,想要给什么控件赋值的话,就要记得把async改为false

相关推荐