0

サーバーでホストされている 2 つの Web アプリケーションがあります。1 つから、2 つ目のアプリケーション (Spring mvc3) に $.post を実行しようとしています。2 番目のアプリケーションの URL に正常にアクセスできましたが、ajax 呼び出しの応答が返されません。

App1 JS コード (http://localhost:7777/app1/test.html) -

var serialisedFormData = $("form").serialize();
 $.post("http://localhost:8080/app2/doSomething", serialisedFormData, function (data) {
        alert("job done");        
    }, "json");

App2 Java コード -

    @RequestMapping(value = "/doSomething")
        public @ResponseBody String doSomething(HttpServletRequest request, 
 @RequestParam("d") String data) {

            try {
                   ... do something here ...
                   return "done";
            }
            catch (Exception e) {
                logger.debug("Exception occured when doing something", e);
                return "failure";
            }
        }
4

1 に答える 1

0

jquery post 呼び出しから「json」タイプを削除することで実現しました。

$.post("http://localhost:8080/app2/doSomething", serialisedFormData, function (data) {
        alert("job done");        
    });

応答にヘッダーを追加する

@RequestMapping(value = "/doSomething")
        public @ResponseBody String doSomething(HttpServletRequest request, HttpServletResponse response, @RequestParam("d") String data) 
     {

            try {
                   ... do something here ...
                   response.setHeader("Access-Control-Allow-Origin", "*");
                   return "done";
            }
            catch (Exception e) {
                logger.debug("Exception occured when doing something", e);
                return "failure";
            }
        }
于 2012-10-04T09:05:52.543 に答える