Uncaught SyntaxError: expected expression, got ',' 前端JS执行报错求助
问题排查及修复方案
1. 函数名调用不匹配
你定义的函数名为doPostBack,HTML中调用时写的是do_PostBack,大小写偏差和多余下划线都属于JS语法中标识符不匹配问题,直接修正为一致的名称即可。
2. HTML调用参数语法错误
原调用写法:
<a href="javascript:do_PostBack({TokenId}, {TokenKey}, {11})">
参数外层多写了不必要的{},如果TokenId、TokenKey是字符串类型还需要补充引号,修正后示例:
<!-- 若TokenId、TokenKey为已定义的变量直接传,数字11不需要额外包裹 --> <a href="javascript:doPostBack(TokenId, TokenKey, 11)">
3. AJAX配置语法&逻辑错误
你代码里所有字符串都用了两层双引号""POST"",属于明显语法错误,修正为单组引号即可。同时你配置了contentType: application/json,但传入的data是普通JS对象,需要转成JSON字符串,否则后端无法正确解析请求体。
修正后的完整JS代码:
var doPostBack = function(UserId, TokenKey, opcao) { $.ajax({ type: "POST", url: "https://localhost:44382/Home/do_PostBack", data: JSON.stringify({UserId: UserId, TokenKey: TokenKey, opcao: opcao}), contentType: "application/json; charset=utf-8", success: function() { }, failure: function() { }, error: function() { } }); }
内容的提问来源于stack exchange,提问作者DanielCaps
相关产品推荐
相关产品推荐

