2
我是Grails的新手,所以這可能是一個愚蠢的....但是我試圖從使用Grails REST的Grails中的jquery客戶端獲取json對象,但是我得到null 。可能是一個小gitch但其在阻礙創造了我的第幾個數據流我想測試在Grails中使用參數獲取JSON對象REST
我的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"]
}
}
你確定你的'data'是從客戶端發送的嗎?你使用Firebug或其他工具檢查了你的AJAX調用嗎? – aiolos 2012-04-05 05:29:52
嗨Aiolos - 你說得對,我試着用Chrome瀏覽器做,但它的工作原理相同的一段代碼不適用於Internet Explorer 8。爲什麼?我還沒弄清楚,但IE確實給了我一個問題。非常感謝您的時間! – user1313900 2012-04-05 05:50:35