0

クライアントにデータを取得していますが、データがタブに表示されません?? タブをクリックして送信された ajax リクエストに応答して得られるものは次のとおりです。

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 196
Date: Wed, 23 May 2012 08:57:02 GMT

{
    "footerPkg": {
        "hotelRoomPrice": 1,
        "idHolidayPackage": 1,
        "idHolidayPackageVariant": 1,
        "idOriginCity": 1,
        "itineraryHeader": "Header",
        "miscPrice": 0,
        "name": "name",
        "occupancyType": "TWIN",
        "variantPrice": 10
    }
}

私のjspでは、これを使用してタブを作成しています:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%-- <%@ taglib prefix="sj" uri="/struts-jquery-tags"%> --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link
    href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css"
    rel="stylesheet" type="text/css" />
<script
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script
    src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script>
  $(document).ready(function() {
    $("#tabs").tabs({
        ajaxOptions: {
            dataType: "json",
            success : function(data, status) {
                alert(data.footerPkg.name);
            }
        }
    });
  });
  </script>

<title>Hello World!</title>
</head>
<body onload="alert('body load');">

    <div id="tabs">
        <ul>
            <li><a href="getJsonResult.action?idPkg=1">Tab 0</a></li>
            <li><a href="getJsonResult.action?idPkg=1">Tab 1</a></li>
            <li><a href="HelloWorld.jsp">Tab 3</a></li>
        </ul>
    </div>      
</body>
</html>

ただし、タブのコンテンツには何も表示されません。プレーンテキストの Homepage.jsp でさえ、タブ 3 に表示されません。

これは次のようになります。

空のタブ

4

1 に答える 1

1

データが ajax 成功メソッドに戻った後、コールバック関数が必要です。コールバックは、処理する新しいデータがあることを jquery ui に知らせるために必要です。

これは、この質問の複製である可能性があります。

タブを ajax で読み込んだ後のコールバック

これは、必要なロード機能の明確な例を含む別のものです

新しく追加されたjquery uiタブにajaxコンテンツがロードされた後にコールバック関数を実行する方法

于 2012-05-23T13:57:01.093 に答える