我的回复文字有html标签,导致ERROR触发而不是SUCCESS。我做错了什么?
这是我的HTML代码:
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
$response = array(
"a" => "test");
echo (json_encode($response);
?>
</body>
</html>
这是我的php:
ERROR
(index):28 Status: parsererror
(index):29 errorThrown: SyntaxError: Unexpected token < in JSON at position 0
(index):30 <html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
{"a":"test"} </body>
这是控制台消息:
{{1}}
如果删除dataType:“json”,我会触发,但html标记仍然是响应文本的一部分。
我做错了什么?
答案 0 :(得分:1)
将数据返回到ajax调用的PHP脚本应该被视为子例程而不是网页。如果您在该脚本中有HTML,它也将作为总响应的一部分发送回浏览器。
因此,请将脚本修改为此,即删除其中的所有HTML
app.controller.article.article_json_api_controller:
class: '%app.controller.article.article_json_api_controller.class%'
parent: 'app.service.user.access_controller'
arguments:
- '@app.service.article.doctrine_orm.article_entity.builder'
- '@app.service.article.doctrine_orm.article_entity.persister'
- '@app.repository.article.article_repository'
- '@app.service.article.updater'
- '@app.service.article.doctrine_orm.article_entity.destroyer'
- '@app.repository.language.language_repository'
- '@app.service.article.doctrine_orm.article_section_entity.builder'
- '@app.service.article.article_section.updater'