在VS2010中,如果不能智能提醒,就先要確保JS文件被引入,然後再多次點擊“編輯”》》“IntelliSense"》》更新JS。
一、JQUERY部分:
1、在<script>中,如果是需要頁面打開就要載入的,需要先寫:
- $(function(){
-
- });
然後把需要變成EasyUI的input或div等的ID寫入其中,否則他們不能變成你想要的插件。當然,其他的函數,如onclick(),就要寫到其外了。
2、$.get()
$.get()是簡化的$.ajax()。用法如:
- $("button").click(function(){
- $.get("demo_ajax_load.txt", function(result){
- $("div").html(result);
- });
- });
這裡有2個知識點:
① 如果要得到服務器返回的值,就必須用後面加函數的方法。原因是:它是異步調用,JS會在它沒有得到遠程服務器的值之前,就往下執行了,會導致下面的值並不是你想要的。比如:
- var str="";
- $.get("home/serTime",function(data){str=data;});
- alert(str);
你會發現最後的str並不是從服務器中取回來的結果。因為在服務器還未得到值之前,就已經alert了。但是如果你第二次執行這個語句的話,就會得到上次從服務器返回的內容。
解決這個問題的方法有2種:第一:
- $.get("home/serTime",function(data){alert(data);});
或者,用下面的辦法。
② 用$.ajax代替簡化版的$.get
$.get 相當於:
- $.ajax({
- url: url,
- data: data,
- success: success,
- dataType: dataType
- });
get傳輸參數的用法:
- $.get("test.php", { name: "John", time: "2pm" } );
$.ajax的用法:
- $("#ButAjax").click(function() {
- $.ajax({
- type: "POST", //默認是GET
- url: "/AjaxTest/getPerson",
- data: "ID=1&FirstName=C&LastName=HY",
- async: true, //異步
- cache: false, //不加載緩存
- success: function(obj) {
- alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);
- },
- error: function() {
- alert("請求失敗");
- }
- });
- });
$.get和$.ajax,默認都是異步調用的。所以如果想讓JS語句在本句執行完之後,再執行下一條語句,可以把async設為false,即不要異步調用。所以,同樣的:
- var str="";
- $.ajax({url:"home/serTime",async:false,success:function(data){str=data;});
- alert(str);
這樣,其結果就是你想要的了。
所以,如果以後在頁面處於打開的狀態下,再點擊按鈕,想要給什麼控件賦值的話,就要記得把async改為false。