2013-10-23 96 views
-1

我是「jQuery ajax」的新手,我正在使用ajax向服務器發送請求。我正在發送的數據,即沒有,名稱,班級,年齡作爲正常參數。我的要求是,我想以JSON格式發送數據。我的代碼是,用json數據向服務器發送ajax調用

function fun1() { 

    $.ajaxSetup({ 
     jsonp: null, 
     jsonpCallback: null 
    }); 

    $.ajax({ 
     type: 'POST', 
     url: 'register.action', 
     dataType: 'json', 
     data: { 
      no: document.getElementById("id1").value, 
      name: document.getElementById("id2").value, 
      clas: document.getElementById("id3").value, 
      age: document.getElementById("id4").value  
     },  
     success: function (data) {  
      printStudentDetails(data);  
     }, 
     error: function() { 
      alert("failure"); 
     } 
    }); 

} 

我的服務器端資源是java。

+2

什麼是您的問題? – Raidri

+1

您應該使用POST發送json數據 - 我甚至不知道GET會對您的數據執行什麼操作。例如,它可能只是編碼:?no = JUNK&name = JUNK。另外,添加'contentType:'application/json'' – Blazes

+0

看看這個問題,例如.. http://stackoverflow.com/questions/6323338/jquery-ajax-posting-json-to-webservice – StefanE

回答

0

試試這個:

$.ajaxSetup({ 
    jsonp: null, 
    jsonpCallback: null 
}); 

function fun1(){ 

    $.ajax({ 
     type: 'POST', 
     url: 'register.action', 
     dataType: 'json', 
     data: { 
      jsonData: JSON.stringify({ 
       no: $('#id1').val(), 
       name: $('#id2').val(), 
       clas: $('#id3').val(), 
       age: $('#id4').val() 
      }) 
     },  
     success: function (data) {  
      printStudentDetails(data);  
     }, 
     error: function() { 
      alert("failure"); 
     } 
    }); 

} 

這將使一個HTTP發佈到你的服務器的URL和後場的一個將被稱爲「jsonData」,這將包含表單數據的JSON編碼字符串值(你可以解碼成陣列/對象,以便在您的服務器中進行操作/存儲)。

+0

如何解碼這個json編碼的字符串值在服務器端。我使用java struts2服務器端。 – reddy

+0

我不使用java,我回答了你的問題的jquery/ajax藥水。在google上搜索並找到[this](http://stackoverflow.com/a/11430777/2332336)。您需要在您的java中定義一個類,定義您的JSON數據包含的內容並使用此示例(例如)解碼回數據:'List userList =(List )JSON.deserialize(stringObject,List .class);'where 「用戶」是定義json數據結構的類。 – Latheesan

相關問題