gpt4 book ai didi

javascript - Symfony v2.8 Response($message) 方法 'returning' 超出预期

转载 作者:行者123 更新时间:2023-12-04 11:32:42 26 4
gpt4 key购买 nike

我的目标是将消息返回到要显示的网页,但返回的值不仅包含消息,还包含错误页面的消息和 html 代码!
这是 Symfony 捆绑操作路由和函数定义:

/**
* @Route("/Utilities/getMessages/{callSign}/{loginDateTime}",
* defaults={"callSign"="","loginDateTime"=""})
*
* @return: json string.
*
*/

public function getMessagesAction( $callSign, $loginDateTime ) { ... }
我正在使用以下代码将消息结果返回给 ajax 调用:
由 Ajax 调用调用的服务器端 PHP 代码...
$message = 'Some message to be displayed.';

// Return to the page and display the message ...

return new Response( $message ); // Inspecting $message shows only
// 'Some message to be displayed.'
调用上述代码并接收响应的客户端 JavaScript 代码:
$.ajax( { // Send form data to the same page that the page came from
type: 'POST',
data: data,
cache: false,
async: true,
contentType: false,
enctype: 'multipart/form-data',
processData: false
} )
.done( function( data, textStatus, jqXHR ) { ... } // Inspecting data
// shows more than
// 'Some ...
.fail( function( jqXHR, textStatus, errorThrown ) { ... }
当断点设置在 return new Response( $message );.done(...) 中的第一个可执行行函数,PHP 脚本执行到达 return new Response( $message ); 处的断点。没有任何错误的语句,我可以看到参数的值是“要显示的一些消息。”,正如预期的那样,但是在 .done() 处暂停时函数的第一行,data参数的值为: Some message to be 'displayed.<!DOCTYPE html><html>...</html> !
如果将 html 代码放在一个文件中并加载到浏览器中,它看起来有点像这样:
Whoops, looks like something went wrong.
1/1 FatalErrorException in debug-eval(1) : eval()'d code line 1:
Parse Error: syntax error, unexpected ')'
in debug-eval(1) : eval()'d code line 1
一条明显的错误消息,但我的代码没有使用任何可能失败的 eval() 语句,并且执行到 Response 语句时没有任何错误。这是 Symfony 响应语句方法/函数中的错误吗?如果没有,我怎样才能找出真正发生的事情,以便修复它?
跟进
更改服务器端代码以对 json 字符串进行编码,然后在客户端对其进行解码并没有帮助。
服务器端 PHP 代码:
// Return to the login page and display the message ...

// $message'value => '{ "message":"' . $message . '"}';

$message = json_encode( [ 'message' => $message ] );
return new Response( $message );
客户端 Javascript:
    ***unchaged***
在这种情况下,我仍在检查 data 参数,但它现在包含 json 编码消息和 html 错误页面代码。将此反馈给 JSON.parse( data );将 json 数据转换为 javaScript 对象的语句会导致 javaScript 卡住。这不是 json 问题,附加到我的消息末尾的 html 代码问题仍然存在。
谢谢

最佳答案

这不是一个非常明确的错误消息,但听起来您的错误来自 Xdebug,而不是 PHP。
你可以看到类似的问题 here .
我会在 PHPStorm 调试选项卡中检查您的“Watches”选项卡,也可以从 PHPStorm 转到 Run > View Breakpoints并删除所有这些。为确保您也可以暂时停用 XDebug(通过 php.ini 设置)以确认问题消失。

关于javascript - Symfony v2.8 Response($message) 方法 'returning' 超出预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66620701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com