在 PHP 项目中使用 ajax 问题重绘 HTML
Posted
技术标签:
【中文标题】在 PHP 项目中使用 ajax 问题重绘 HTML【英文标题】:HTML redraw with ajax issue in PHP project 【发布时间】:2021-02-25 13:42:15 【问题描述】:我正在处理一项 php 任务,但无法通过 ajax 调用正确重绘。除了我有这行代码不断给我错误之外,一切几乎都可以工作:
$line .= '<input type="button" onclick="$j(this).attr(\'disabled\',true).val(\'Updating...\');xajax_save_message(' . $error . ',' . '$j(\'#error_' . $error_code . '\').val());return false;" id="save_button_' . $error_code . '" value="Save" />';
我想我在错误的地方有一个转义字符。目前,我收到的错误消息是:
XML Parsing Error: not well-formed
Location: http://127.0.0.1/dev/admin_eprescribing_error_messages.php
Line Number 1, Column 63:
当我实际按下按钮进行保存时发生错误。正如我所说,这是一个 PHP 项目,它使用一个名为 Xajax 的库来执行 ajax 调用。
任何帮助都会很棒。
$j = "$"."j";
$line .= '<td align="left">';
$line.= <<<DELIMETER
<input type="button" onclick="$j(this).attr('disabled',true).val('Updating...');xajax_save_message($error_code,$j('#error_message$error_code').val());return false;" id="save_button_$error_code" value="Save" />;
DELIMETER;
$line .= ' ';
【问题讨论】:
此错误是否在文档加载后立即显示? 当我在上面的代码行中按下保存按钮时没有显示错误。我相当肯定我有一个放错位置的 ' 或 " 或 \xajax_save_message(' . $error . ',
,除非$error
是数字,否则您需要引用该字符串:xajax_save_message(\'' . $error . '\',
我添加了它,我几乎到了那里,但现在有一个未捕获的语法错误:当前不支持私有字段,这永远不会结束。回头看看那个问题是什么!
好吧,在 jquery 调用之前我有一个额外的 ' 并且不知道如何摆脱它 - 我对转义字符很糟糕: message(\'' . $error . '\', \ '' . '$j(\'#error_message_' . $error_code . '\')
【参考方案1】:
你应该使用
$j = "$"."j";
$line.= <<<DELIMETER
<input type="button" onclick="$j(this).attr('disabled',true).val('Updating...');xajax_save_message($error,$j('#error_$error_code).val());return false;" id="save_button_$error_code" value="Save" />;
DELIMETER;
【讨论】:
谢谢 - 我想我快到了,但我收到以下错误消息: Uncaught SyntaxError: expected expression, got ',' => 有没有遗漏的内容?我也会审核并再次感谢您 再次感谢您-消除了所有错误,但现在按钮在按下时消失-这不是我想要的,但我认为这很接近-我已经更新了最初的问题以向您展示我有什么 - 请注意变量名称略有变化,但这不重要。 你能告诉我你正在使用哪个库 这是一个很好的问题 - 这是一个我刚开始工作的应用程序,我知道它是 PHP 7.4 并使用 Xajax 抱歉,我无法提供更多帮助。 我在我这边测试过这个问题我认为问题一定出在xajax_save_message()
以上是关于在 PHP 项目中使用 ajax 问题重绘 HTML的主要内容,如果未能解决你的问题,请参考以下文章