2012-04-04 6 views
2

Grailsの初心者です。 。小さなgitchしかしかもしれないその私がテストしたい私の最初のいくつかのデータフローのための障害で作成Grailsでparamsを使用してJSONオブジェクトを取得する

私のjQueryのコール:

var jsonObjects = [{name: "IPAD", input: "IPAD", program: "IPAD", destination: "IPAD",  
priority: "IPAD", userData: "IPAD", email: "IPAD", webCallBackURL: "IPAD", copyToLocal:  
"IPAD", scriptPreProcess: "IPAD", deleteSource: "IPAD", moveToSource: "IPAD",  
scriptPostProcess: "IPAD", inputImage: "IPAD", leftImage: "IPAD", topImage: "IPAD", 
opacityImage: "IPAD", bImageAdAvBlanking: "IPAD"}] 

$.ajax({ 
    type: "POST", 
    url: 'http://localhost:8080/Medusa/jobControlREST/save', 
    data: {ipad: JSON.stringify(jsonObjects)}, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    beforeSend: function(x) { 
     if (x && x.overrideMimeType) { 
      x.overrideMimeType("application/json;charset=UTF-8?"); 
     } 
    }, 
    success: function() { 
     alert('hi'); 
    } 
}); 

私のGrails:

def save = { 
    def jsonString = params['ipad'] //returns null 
    def json = JSON.parse(jsonString) // returns null obviously 
    println "this is POST call" +json // gets printed but json is null...sign ( 
} 

urlmapping: 
    "/$controller/$action?/$id?"(parseRequest:true) { 
     constraints { 
      action = [GET:"index", POST:"save", PUT:"update", DELETE:"remove"] 
     } 
    } 
+0

'data'がクライアントから正しく送信されていますか? Firebugや他のツールを使ってAJAXコールをチェックしましたか? – aiolos

+0

こんにちはAiolos - あなたは正しいです、私はクロームブラウザを使ってやろうとしましたが、同じコードがInternet Explorer 8で動作しませんでした。なぜですか?私はまだそれを把握しなかったが、IEは私に確かに問題を与えた。あなたの時間のために多くのおかげで! – user1313900

答えて

0

使用この:

def jsonObject=request.JSON 
関連する問題