2012-12-14 55 views
1

在此代碼中Ajax未被識別,但其他jQuery方法或選擇器正常工作。未識別Ajax

new Ajax.Request(form.action,{ 
     method: 'POST', 
     postBody: params, 
     onSuccess: function(response) { 
     var responseText = response.responseText || '[]'; 
     var json = responseText.evalJSON(); 
     if (json.success) { 
      alert("json.sucess") 
      onSuccessfulLogin(form.j_username.value); 
     } 
     else if (json.error) { 
      alert("json.error") 
      $("form").enable(document.ajaxLoginForm); 
     } 
     else { 
      alert("responseText"+responseText); 
      $("form").enable(document.ajaxLoginForm); 
     } 
     } 
    }); 

我需要添加一些其他庫或jar嗎?我正在使用jquery 1.7.2

+1

更改'new Ajax.Request(form.action,{...'to'$ .ajax({'... http://api.jquery.com/jQuery.ajax/ – sdespont

+0

如果我的答案解決了您的問題問題請將其設置爲答案,如果不能編輯您的問題並提供更多詳細信息,請點擊這裏 – Gabriel

回答

1

什麼樣:

$.ajax({ 
    url: url, 
    type: "post", 
    data: params, 
    success: function (response, textStatus, jqXHR) { 
     var responseText = response.responseText || '[]'; 
     var json = responseText.evalJSON(); 
     if (json.success) { 
      alert("json.sucess") 
      onSuccessfulLogin(form.j_username.value); 
     } 
     else if (json.error) { 
      alert("json.error") 
      $("form").enable(document.ajaxLoginForm); 
     } 
     else { 
      alert("responseText"+responseText); 
      $("form").enable(document.ajaxLoginForm); 
     } 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 
    }, 
    // callback handler that will be called on completion 
    // which means, either on success or error 
    complete: function() { 
    } 
}); 

阿賈克斯jQuery的文檔在這裏:http://api.jquery.com/jQuery.ajax/

-1

這可能是有兩個原因。首先,嘗試包括更新版本的jQuery - 3.2.1。其次,確保你沒有在任何地方將圖書館加入兩次。此外,可能需要嘗試請求這種形式:

$("button").click(function(){ 
    $.ajax({url: "demo_test.txt", success: function(result){ 
     $("#div1").html(result); 
    }}); 
}); 

退房文檔瀏覽:https://www.w3schools.com/jquery/jquery_ajax_intro.asp

我希望這有助於!

+0

您能否提供更多詳細信息 - 特定版本,也許? –