2014-12-23 20 views
0

我的worklight應用程序有一個頁面可以將一些值發佈到遠程服務器。這是使用調用URL發佈的適配器完成的。客戶端的JavaScript是:適配器請求不會返回預期數據

var invocationData = { 
    adapter : 'StoryAdaptor', 
    procedure : 'postStoryDetails', 
    parameters : [ storyParameters ] 
};  

WL.Client.invokeProcedure(invocationData, { 
    onSuccess : function(data) { 
     alert("return message: "+JSON.stringify(data)) 
    }, 
    onFailure : function(data) { 
     alert("Couldn't save Story"); 
    } 
}); 

適配器方法是

function postStoryDetails(storyParameters){ 
    var input = { 
     method : 'post', 
     returnedContentType : 'json', 
     path : "/postStory.json", 
     parameters : storyParameters 
    };  
var authResult = WL.Server.invokeHttp(input); 
} 

遠程應用程序是一個Java Spring應用程序這需要的參數和成功的保存,返回只是一個字符串「成功」。

@RequestMapping(value = { "/postStory" }, method = RequestMethod.POST) 
public String postStory(HttpServletRequest request,HttpServletResponse response){ 
Story story = new Story(); 
story.setTitle(request.getParameter("title")); 
. 
. 
. 
boolean status = storyService.saveStory(story); 
if(status){ 
    return "success";  
} 
return "failed"; 
} 

我在工作中沒有收到「成功」的信息。相反,每次警報正在打印

return message: {"status":200,"invocationContext":null,"invocationResult":{"isSuccessful":true}} 

爲什麼我沒有收到我的退回消息?

+0

也許你沒有正確返回它。用什麼以及如何返回它來編輯問題。 –

+0

該字符串應該是您應該返回的JSON對象的一部分。 –

+0

編輯過的問題 - 添加了服務器功能。返回的消息將在worklight中用於顯示。 – Shoreki

回答