1

このようなビューからコントローラーへの ajax 呼び出しを行っています

jQuery.ajax({
              type: "POST",
              url: "index.php?option=com_virtuemart&view=participate&task=participate_request&virtuemart_product_id=2&virtuemart_category_id=5&tmpl=component&Itemid=101",
              data: { name: "John", location: "Boston" }
            }).done(function( msg ) {
              alert( "Data Saved: " + msg );
        });

そしてコントローラーには、このように宣言されたタスクメソッドがあります

public function participate_request(){          
        echo 'test';
        return false;
    }

そして、私はこの応答を受け取ります

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="el-gr" lang="el-gr" >
<head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="generator" content="Joomla! - Open Source Content Management" />
  <title>offer_e_shop_1</title>
  <link rel="stylesheet" href="/offer_e_shop_1/components/com_virtuemart/assets//css/facebox.css" type="text/css" />
  <link rel="stylesheet" href="/offer_e_shop_1/components/com_virtuemart/assets//css/vmsite-ltr.css" type="text/css" />
  <script src="/offer_e_shop_1/components/com_virtuemart/assets/js/jquery.min.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/jquery.noConflict.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/jquery-ui-timepicker-addon.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/jquery-ui-sliderAccess.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/vmsite.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/facebox.js" type="text/javascript"></script>
  <script src="/offer_e_shop_1/components/com_virtuemart/assets//js/vmprices.js" type="text/javascript"></script>
  <script type="text/javascript">
vmSiteurl = 'http://localhost/offer_e_shop_1/' ;
vmLang = ""
vmCartText = ' was added to your cart.' ;
vmCartError = 'There was an error while updating your cart.' ;
loadingImage = '/offer_e_shop_1/components/com_virtuemart/assets/images/facebox/loading.gif' ;
closeImage = '/offer_e_shop_1/components/com_virtuemart/assets/images/facebox/closelabel.png' ; 
Virtuemart.addtocart_popup = '0' ; 
faceboxHtml = '<div id="facebox" style="display:none;"><div class="popup"><div class="content"></div> <a href="#" class="close"></a></div></div>'  ;

  </script>

 <link rel="stylesheet" href="/offer_e_shop_1/templates/system/css/system.css" type="text/css" />
 <link rel="stylesheet" href="/offer_e_shop_1/templates/system/css/general.css" type="text/css" />
 <link rel="stylesheet" href="/offer_e_shop_1/templates/mov_jean_cc_offer_e_shop_2/css/print.css" type="text/css" />
</head>
<body class="contentpane">

<div id="system-message-container">
</div>
 test
</body>
</html>

テスト値のみを返すにはどうすればよいですか?

4

4 に答える 4

1

すべての出力テキストをエコーし​​、die();を配置するだけです。その後

于 2012-08-13T03:51:48.550 に答える
1

タスクの最後に Jexit() を追加するだけで、完全な html を取り除くことができます。die() も使用できますが、Jexit() がある場合はなぜですか。function edit() { // コード Jexit(); }

于 2013-01-10T15:10:05.250 に答える
1

Jexit()、exit() を使用するか、URL 文字列に &format=raw を追加するか、コントローラー関数で特定のコードを使用できます。

$app = &JFactory::getApplication();
$app->close()
于 2013-04-19T05:51:49.033 に答える
0

見つかった.. URL文字列の最後に.. &format=rawを添付する必要があるので、リクエストは次のようになります

jQuery.ajax({
              type: "POST",
              url: "index.php?option=com_virtuemart&amp;view=participate&amp;task=participate_request&amp;virtuemart_product_id=2&amp;virtuemart_category_id=5&amp;tmpl=component&amp;Itemid=101&format=raw",
              data: { name: "John", location: "Boston" }
            }).done(function( msg ) {
              alert( "Data Saved: " + msg );
        });

! 結局のところとても簡単です。

于 2012-08-13T04:24:01.407 に答える