don*_*don 7 javascript ajax form-data
我正在尝试查看内部包含的内容[object FormData],特别是在名称应该包含的特定元素内Name.我想提醒它,检查内容是否正确,但这样做会返回undefined:
alert(fd['Name']);
Run Code Online (Sandbox Code Playgroud)
我很确定我正在正确加载表单数据,所以我想知道问题是我是否以错误的方式访问数据...
PS警报仅fd返回[object FormData]
Asa*_*din 13
IvanZh告诉我这种方法对他不起作用,这促使我对HTML5 FormData对象进行一些研究.事实证明,我完全错了(见下面的错误答案).所有数据都FormData驻留在本机代码中.这意味着浏览器以其实现语言处理表单字段和文件上载的数据.
引用MDN:
注意:... FormData对象不是可字符串对象.如果要对提交的数据进行字符串化,请使用以前的纯AJAX示例.另请注意,虽然在此示例中有一些文件字段,但是当您通过FormData API提交表单时,您也不需要使用FileReader API:文件会自动加载和上载.
没有办法在JavaScript中表示这些信息,所以我简单地将其序列化为JSON的天真建议将无效(这促使我想知道为什么这个答案首先被接受).
根据您要实现的目标(例如,如果您只是尝试调试),简单地从返回相关JSON元数据的服务器端脚本中反弹此信息可能是可行的.例如,在PHP中,您可以将FormData发送到analyzeForm.php,可以轻松访问您在相关请求超全局下附加到FormData的所有内容.该脚本将消化表单内容并返回相关信息,易于解析JSON.这是非常低效的,因此它可能不适合生产环境,但它是一些东西.
旧的错误答案:
您可以尝试使用:
alert(JSON.stringify(fd));
Run Code Online (Sandbox Code Playgroud)
查看结构的文本表示fd.
您也可以使用console.log,但这是一项非标准功能,并不保证在所有浏览器中都有.
| 归档时间: |
|
| 查看次数: |
14232 次 |
| 最近记录: |