Я пытаюсь обновить элемент DOM с помощью HTML, созданного из части Symfony. Я использую Symfony 1.3.8
Вот (упрощенная) часть Symfony / PHP:
public function executeFoobar(sfWebRequest $request)
{
$results = $this->renderPartial('foo/bar');
$this->getResponse()->setContentType('text/json');
return $this->renderText(json_encode(array('data' => $results)));
}
Вот (упрощенная) часть HTML / jQuery
<html>
<head><script type="text/javascript" src="/js/jquery.js"></script>
<body>
<a id='foo' href='#'>Click foo</a>
<div id="sink"></div>
</body>
<script type="text/javascript">
$(document).ready(function(){
$('#foo).click(function(){
$.ajax( {
type: 'POST',
url: '/ajax-example'
dataType: 'json',
success: function(result){ $('#sink).val(result.data); }
error: function(xhr, ajaxOptions, thrownError){ alert('Error: ' + thrownError); }
});
});
});
</script>
</html>
Когда я отправляю сообщение AJAX, HTML генерируется на стороне сервера, но затем я получаю сообщение об ошибке в браузере со следующим сообщением:
Error: Invalid JSON: <table>
<tr><!-- Rest of generated HTML follows .... -->
{"data": GENERATED_HTML }
Где GENERATED_HTML - это HTML, сгенерированный на стороне сервера, т.е.
<table>
<tr><!-- Rest of generated HTML follows .... -->
Так что, похоже, HTML включается дважды или что-то в этом роде. Кто-нибудь сталкивался с этим раньше - что я делаю не так?