gpt4 book ai didi

php - AJAX (jQuery) 响应

转载 作者:行者123 更新时间:2023-12-02 20:31:24 26 4
gpt4 key购买 nike

假设您应用程序中的所有表单都具有以下结构:

<div id="result_messages"></div>
<form action="/action">
<!-- all the form -->
</form>

此表单的提交按钮如下所示:

<input type="button" onclick="$.post( '/action', $(form).serialize(), function (data) {
$('#result_messages').html( data ); // At this point the 'data' is an standard HTML with a message
});" />

但是,但响应并不总是消息...如何检测数据何时是消息??????:

<input type="button" onclick="$.post( '/action', $(form).serialize(), function (data) {
if (isMessage( data ))
$('#result_messages').html( data );
else
doActionWith( data );
});" />

使用 JSON 可能是一个解决方案:

{ response_type : 'message', data: 'all_data_here' }

{ response_type : 'nomessage', data: 'all_data_here' }

其他解决方案是在数据开头放置一个特殊的字符串:

<!--message--><ul><li>form was processed</li></ul>

你还有其他想法吗?您对此解决方案有何看法?

最佳答案

what do you think about this solutions?

<input type="button" onclick="$.post( "/action", $(form).serialize(), function (data) {

  1. 那会摔倒的。之前的报价/action将终止 onclick 属性值
  2. 内联 JS 很糟糕。从外部脚本绑定(bind)您的事件处理程序。
  3. 如果 JS 不可用,这将不起作用。编写一个有效的表单(使用常规提交按钮),然后使用 JS 逐步增强。
  4. form未定义,应该是 this.form
  5. /action正在重复自己。编写更多可重用的代码:this.form.action

Using JSON maybe a solution

是的。使用结构化数据格式而不是一堆代码来推送到页面中。

关于php - AJAX (jQuery) 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4062534/

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