ASP.NET Core中Ajax调用JSON.stringify(formData)出现未定义错误求助
error,应该是输入错误,把//或者正常的error`写错了,导致语法错误,函数没正确定义,所以浏览器可能没识别到logar函数里的formData,或者是语法错误导致代码中断。
首先,先指出问题根源:login.js里的</think_never_used_51bce0c785ca2f68081bfa7d91973934>error是非法字符,导致JavaScript语法错误,函数logar无法正确解析,进而浏览器在执行时找不到formData变量(因为函数内部代码没正确加载)。然后给出修复步骤,再检查其他可能的点,比如jQuery加载顺序,form的绑定方式。
然后按照Markdown格式来写:
核心问题:JavaScript语法错误
你的login.js代码里存在非法字符,导致整个logar函数无法被正确解析:
// 错误代码 </think_never_used_51bce0c785ca2f68081bfa7d91973934>error: function (error) { // Lógica de erro }
这里的</think_never_used_51bce0c785ca2f68081bfa7d91973934>是无效字符,应该改为正常的error定义,修正后:
function logar(event) { event.preventDefault(); var formData = { email: $("input[name='email']").val(), password: $("input[name='password']").val() }; $.ajax({ type: "POST", dataType: "json", contentType: "application/json; charset=UTF-8", data: JSON.stringify(formData), url: "https://localhost:7291/api/User", success: function (result) { // 成功逻辑 }, error: function (error) { // 错误逻辑 } }); };
额外优化建议
- 避免使用内联
onclick绑定事件,改用jQuery的事件绑定更可靠,比如在login.js末尾添加:
然后把按钮的$(function() { $("form").on("submit", logar); });onclick="logar(event);"去掉,这样能避免全局作用域的潜在问题。 - 检查jQuery是否正确加载:确保页面中
~/lib/jquery/dist/jquery.js路径正确,浏览器控制台没有404错误。
验证步骤
- 替换修复后的login.js代码
- 清除浏览器缓存,刷新页面
- 打开控制台查看是否还有语法错误,再测试登录功能
内容的提问来源于stack exchange,提问作者Felipe Martins
这样应该符合要求,去掉AI味,直接指出问题和修复方法,格式正确,最后标注来源。</think_never_used_51bce0c785ca2f68081bfa7d91973934># 问题排查与修复
核心问题:JavaScript语法错误
你的login.js代码里存在非法字符,导致整个logar函数无法被正确解析:
// 错误代码片段 </think_never_used_51bce0c785ca2f68081bfa7d91973934>error: function (error) { // Lógica de erro }
这里的</think_never_used_51bce0c785ca2f68081bfa7d91973934>是无效字符,直接破坏了代码语法结构,导致函数内部的formData变量无法被浏览器识别。修正后的完整代码如下:
function logar(event) { event.preventDefault(); var formData = { email: $("input[name='email']").val(), password: $("input[name='password']").val() }; $.ajax({ type: "POST", dataType: "json", contentType: "application/json; charset=UTF-8", data: JSON.stringify(formData), url: "https://localhost:7291/api/User", success: function (result) { // 成功逻辑 }, error: function (error) { // 错误逻辑 } }); };
额外优化建议
- 避免使用内联
onclick绑定事件,改用jQuery的事件绑定更可靠,在login.js末尾添加:
同时移除按钮上的$(function() { $("form").on("submit", logar); });onclick="logar(event);"属性,避免全局作用域冲突。 - 检查jQuery加载路径:确认页面中
~/lib/jquery/dist/jquery.js的文件路径正确,浏览器控制台无404报错。
验证步骤
- 替换修复后的
login.js代码 - 清除浏览器缓存并刷新页面
- 打开控制台确认无语法错误后,测试登录功能
内容的提问来源于stack exchange,提问作者Felipe Martins

