2015-02-23 56 views
0

我已經在jQuery中創建了一個ajax調用我的服務器,我現在面臨的麻煩是我的響應是打印?即使將正確的整數值寫入輸出流。下面給出了Ajax函數。獲取?當提醒ajax響應或發佈到文本字段

$dntb.on('click', 'button', function(event) { 
       var i = $(this).closest('tr').index(); //have to get the row where the button is clicked 
       var sditmId = $("#sditm").val(); 
       var sdhedId = $("#sdhed").val(); 
       $.get('getstock', { 
        sditmId: sditmId, 
        sdhedId: sdhedId 
       }, function(response) { 
        alert(response); 
        var stk = ""+response; 
        $("#stk").val(stk); 
       }); 
      }); 

該功能被稱爲下面

Issue button in display notes page

顯示在我的表中的問題按鈕單擊該服務器代碼如下

int stk = null; 
switch (userPath) { 
     case "/getstock": 
      stk = opo.getStockData(request.getParameter("sditmId") request.getParameter("sdhedId")); //value to write into the output stream. 
      break; 
     case "/temp": 
      //er = opo.checkCatUniqueForEdit(request.getParameter("catName"), request.getParameter("catId")); 
      break; 
    } 
System.out.println(stk); //Printing correctly 
    response.setContentType("text/html"); 
    response.getWriter().write(stk); 

代碼提供給獲得價值

public int getStockData(String sditm, String sdhed) { 
    int stk = 0; 
    try { 
     String query = "Select stk.Stk_instk from tbstk stk inner join tbsditm itm on itm.Sditm_prdid=stk.Stk_prdid where itm.Sditm_sdhed=" + sdhed + " and itm.Sditm_id=" + sditm; 
     Statement stmt = dcon.con.createStatement(); 
     ResultSet rs = stmt.executeQuery(query); 
     if (rs.next()) { 
      stk = rs.getInt("Stk_instk"); 
     } 
    } catch (SQLException ex) { 
     Logger.getLogger(Op_OrdConf.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    return stk; 
} 

ajax調用成功發生,但是當我提醒我得到的響應,並且我正在服務器中正確獲取值時,但是在客戶端它是?請幫我解決這個

+0

您正在返回內容類型html中的響應,在$ .get()中提及顯式數據類型。希望這會有所幫助。 – Mahendra 2015-02-23 07:17:57

回答

0

不知道,但看來你是這裏缺少一個逗號:

stk = opo.getStockData(request.getParameter("sditmId"), request.getParameter("sdhedId")); 
//----------------------------------------------------^-----i think this is missing. 

根據您的意見,我會建議你明確地設置dataTypehtml

$.get('getstock', { 
    sditmId: sditmId, 
    sdhedId: sdhedId 
}, function(response) { 
    alert(response); 
    var stk = "" + response; 
    $("#stk").val(stk); 
},"html"); //<----------add the dataType here. 
+0

我在添加帖子時意外刪除了逗號。函數調用正常發生,所以不是這樣,它只是在客戶端,我得到的答覆是「,因此與在輸出流中寫入有關的問題 – Manesh 2015-02-23 07:10:40

+0

@Manesh哦!那麼我想你應該明確地給''.get()'請求'dataType'。 – Jai 2015-02-23 07:14:13

+0

我不明白,你的意思是? – Manesh 2015-02-23 07:22:16

0

我把下面給出的從函數返回的int值轉換爲String,看起來內容類型和寫入輸出流的值之間有些衝突

stk = opo.getStockData(request.getParameter("sditmId") request.getParameter("sdhedId"));