---
title: "Ajax: Error aber OK ???"
url: "https://www.typo3.net/d/126073-ajax-error-aber-ok"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Extbase","Frage","JavaScript & AJAX","TYPO3 8"]
created: "2017-06-17"
last_reply: "2017-06-18"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Ajax: Error aber OK ???

Extensions › Entwicklung · 1 Antwort · gestartet 2017-06-17

## Eröffnungsbeitrag

**getit** · 2017-06-17 · [Beitrag #1](https://www.typo3.net/d/126073-ajax-error-aber-ok/1)

Ich habe hier ein sehr merkwürdiges Verhalten.

Warum funktioniert dieser Ajax-Request nicht:

setup.ts

```php
ajax = PAGE
ajax {
  typeNum = 99
  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-type:application/json
    admPanel = 0
    debug = 0
  }
  10 < tt_content.list.20.kksession_kksession
}
```

IndexController:

```php
<?php
namespace KKSoftware\Kksession\Controller;

use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class IndexController extends ActionController {

  public function indexAction() {
  }

  public function sessionAction() {
    return json_encode(['test' => 'wert']);
  }

}
```

Templates/Index/Index.html:

```html
<script>
  var ajaxUrl = '<f:uri.action action="session" pageType="99"/>';
</script>
```

session.js:

```javascript
$().ready(function () {
  $.ajax({
    url: ajaxUrl,
    type: 'post',
    dataType: 'json',
    success: function(result) {
      alert(result);
    },
    error: function(result) {
      console.log('ERROR');
      console.log(result);
    }
  });
});
```

Die Developer Konsole liefert mir im Netzwerktab:

Request URL:<http://localhost/typo8/index.php?id=1&amp;type=99&amp;tx_kksession_kksession%5Baction%5D=session&amp;tx_kksession_kksession%5Bcontroller%5D=Index&amp;cHash=110588b4f0d2913288e34c9d28da1e0b>
Request Method:POST
Status Code:200 OK

Allerdings ist der Response nicht das erwartete JSON {test:wert} sondern der Inhalt meiner Webseite

```html
<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="utf-8">
<!-- 
	This website is powered by TYPO3 - inspiring people to share!
	TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.
	TYPO3 is copyright 1998-2017 of Kasper Skaarhoj. Extensions are copyright of their respective owners.
	Information and contribution at https://typo3.org/
-->

<title>root</title>
<meta name="generator" content="TYPO3 CMS">

<link rel="stylesheet" type="text/css" href="/typo8/typo3temp/assets/css/20658bc1f2.css?1497650740" media="all">

</head>
<body>

<div id="c21" class="frame frame-default frame-type-list frame-layout-0"><script>
	var ajaxUrl = 'index.php?id=1&amp;type=99&amp;tx_kksession_kksession%5Baction%5D=session&amp;tx_kksession_kksession%5Bcontroller%5D=Index&amp;cHash=110588b4f0d2913288e34c9d28da1e0b';
</script></div>

<script src="/typo8/typo3conf/ext/kksession/Resources/Public/Js/jquery-3.2.1.min.js?1497200563" type="text/javascript"></script>

<script src="/typo8/typo3conf/ext/kksession/Resources/Public/Js/session.js?1497650554" type="text/javascript"></script>

</body>
</html>
<!-- Cached page generated 17-06-17 00:05. Expires 18-06-17 00:05 -->
<!-- Parsetime: -75ms -->
```

Desweiteren bekomme ich nach dem Ajax-Request (der laut der Konsole ja erfolgreich war) nicht das erwartete alert() sondern den Inhalt für den Fehlerfall in der Konsole angezeigt.

Was läuft da falsch?:'(

## Antworten

### [#2](https://www.typo3.net/d/126073-ajax-error-aber-ok/2) · getit · 2017-06-18

:D Ich habs :D

```php
<?php
namespace KKSoftware\Kksession\Controller;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class IndexController extends ActionController {
  public function indexAction() {

  }

  public function sessionAction() {
    /** @var \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $TSFE */
    $TSFE = $GLOBALS['TSFE'];
    $mode = GeneralUtility::_POST('mode');
    $data = null;
    switch ($mode) {
      case 'schreibe':
	$sesVal = GeneralUtility::_POST('sesVal');
	$TSFE->fe_user->setKey('ses', 'sesVal', $sesVal);
	break;
      case 'lese':
	$data = $TSFE->fe_user->getKey('ses', 'sesVal');
	break;
      }
      return json_encode(['sesVal' => $data]);
    }
  }
}
```

```php
ajax = PAGE
ajax {
  typeNum = 99
  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-type:application/json
    admPanel = 0
    debug = 0
  }
  10 < tt_content.list.20.kksession_kksessionstorage
}
```

```html
<script>
  var ajaxUrl = '<f:uri.action action="session" pageType="99"/>';
</script>
```

```javascript
$().ready(function () {
  ajaxUrl = ajaxUrl.replace(/&amp;/g, '&');

  $('button').on('click', function() {
    var mode = $(this).attr('data-mode');
    $.ajax({
      url: ajaxUrl,
      method: 'POST',
      dataType: 'json',
      data: {
	mode: mode,
	sesVal: $('#test').val()
      },
      success: function (result) {
	console.log(result);
      },
      error: function () {
	console.log('error');
      }
    });
  });
});
```

---

Quelle: „Ajax: Error aber OK ???“, typo3.net, https://www.typo3.net/d/126073-ajax-error-aber-ok
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
