2016-07-09 4 views
0

コントローラからajaxメソッドでオブジェクトを取得したいのですが、常にエラーが発生します。 これは私のコントローラである:ajaxのコントローラからオブジェクトを取得する - mvc

@RequestMapping(value = "/getUpdatableCard",method = RequestMethod.GET) 
public @ResponseBody Card getUpdatableCard(@RequestParam("card") long id) { 
    Card card = null; 
    for(int i = 0;i<cards.size();i++) { 
     if(cards.get(i).getId()==id) { 
      card = cards.get(i); 
     } 
    } 
    System.out.println(card.getExpression()); 
    System.out.println(card.getCardType().getName()); 
    System.out.println(id); 

    return card; 
} 

は、これは私のAjaxの機能である:

Webコンソールで
function addAttribute() { 
var card = $('#card').val(); 
$.ajax({ 
    type:"GET", 
    url: contexPath + "/getUpdatableCard", 
    data:"card=" + card, 
    success:function(data) { 
     $("#cardUpdate").modal("show"); 
     alert(data.id); 
    }, 
    error:function(e) { 
     alert('QIRAGI') 
    } 
}); 

}

: 状況:406 STATUSTEXT:許容できない

ください。助けて。

+0

エラーの詳細を含める必要があります。 – seairth

+0

私は警告メッセージだけを受け取る。 –

+0

警告メッセージは何を表していますか? – seairth

答えて

0

406許容できない要求によって識別されたリソースが 受け入れられないコンテンツ特性を有する 応答エンティティを生成することができるだけである

送信された受け入れヘッダに従って要求に含まれます。

この状況が発生する可能性があります原因多くの理由のために、どちらかあなたのクラスパスに正しいジャクソンのライブラリを持っていない、またはあなたが<mvc:annotation-driven>ディレクティブを使用していません。

JARのファイルもあります。

Spring JSON request getting 406 (not Acceptable)

+0

はい、私はこの問題を解決しました。私はjacksonライブラリのいくつかを見逃しました。 –

0

コントローラ

@RequestMapping(value = "/getUpdatableCard/{card}",method = RequestMethod.GET) 
public @ResponseBody Card getUpdatableCard(@PathVariable long card) { 


    return card; // break point. you confirm "card". 
} 

JS

function addAttribute() { 
    var card = $('#card').val(); 
    $.ajax({ 
     type:"GET", 
     url: contexPath + "/getUpdatableCard/" + card, 

     success:function(data) { 
      $("#cardUpdate").modal("show"); 
      alert(data.id); 
     }, 
     error:function(e) { 
      alert('QIRAGI') 
     } 
    }); 
} 
関連する問題