jQuery Ajax+经典ASP返回错误'意外的输入结束'
jQuery Ajax + Classic ASP return error 'unexpected end of input'
我在这个组合上有两个问题。
-
在Ajax总是返回错误(意外的输入结束)之后,在localhost中它仍然可以成功保存日期,似乎不是什么大问题。
-
该代码在我的localhost中工作,但在1App Server中不工作(http://www.1apps.net/),我试着提交了一个技术问题,他们很快就用这种方式做出了回应http://www.mikesdotnetting.com/article/98/ajax-with-classic-asp-using-jquery
然而,我认为这篇文章中的方法应该是可行的,但我很困惑为什么我的代码只能在localhost和其他web服务器上工作,而不能在1App中工作。以下是我的代码:
ASP:
if request.QueryString("action")="CostUpdate" then
Response.ContentType = "application/json"
a = request.form("GI")
b = request.form("GP")
c = request.form("NA")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * From Cost where CostDate = #" & date() & "# and CostItem ='" & a & "'"
rs.open sql,conn,1,3
if rs.eof then
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * From Cost"
rs.open sql,conn,1,3
rs.addnew
rs("CostDate")=date()
rs("CostItem")=a
rs("CostAmount")=c
rs("CostNumber")= b * c
rs.update
else
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * From images where CostDate =#" & adid & "# and CostItem = " & a
rs.open sql,conn,1,3
rs("CostAmount")=c
rs("CostNumber")=b * c
rs.update
end if
end if
JS-
var $GoodsId = $("#costtable tbody").find("tr").eq(c).find("input").eq(1).val();
var $GoodsPrice = $("#costtable tbody").find("tr").eq(c).find("input").eq(2).val();
var $NewAmount = $("#costtable tbody").find("tr").eq(c).find("input").eq(3).val();
$.ajax({
url: 'work.asp?action=CostUpdate',
type: "POST",
data: {
GI: $GoodsId,GP: $GoodsPrice,NA: $NewAmount
},
dataType: "json",
error: function (xhr, status, error) {
console.info("CallAjax");
console.info('An error occured.. ' + xhr.responseText + '..' + error);
},
success: function () {
console.info("Sucess");
}
});
asp代码中存在以下几个问题:
- 当rs仍然打开时,不要打开新的sql命令。所以我创建了一个要在if块内部使用的新记录集(rs2)
- 你不需要为每个动作重新创建rs。所以我删除了重复创建对象
- 不需要将contentType设置为Json,因为不会生成任何数据。您只是在更新数据库
- 如果要使用sql update命令,请使用rs.open sql,objcon,2,2
- 使用rs.close和设置rs=nothing释放服务器内存
- 参数adid没有定义。你在别的地方定义过它吗
- 您正在将数据发布到asp页面,而不是获取。所以你必须使用在第一行请求.form,并在发布的数据中发送参数"action"
- 这是整个asp代码吗?您在哪里定义conn
此外,错误"输入意外结束"不是ASP错误。您可能忘记了JavaScript代码内部的}。所提供的代码是可以的,请检查整个代码。
if request.form("action")="CostUpdate" then
a = request.form("GI")
b = request.form("GP")
c = request.form("NA")
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
sql = "Select * From Cost where CostDate = #" & date() & "# and CostItem ='" & a & "'"
rs.open sql,conn,1,3
if rs.eof then
sql = "Select * From Cost"
rs2.open sql,conn,2,2
rs2.addnew
rs2("CostDate")=date()
rs2("CostItem")=a
rs2("CostAmount")=c
rs2("CostNumber")= b * c
rs2.update
rs2.close
else
sql = "Select * From images where CostDate =#" & adid & "# and CostItem = " & a
rs2.open sql,conn,2,2
rs2("CostAmount")=c
rs2("CostNumber")=b * c
rs2.update
rs2.close
end if
rs.close
end if
set rs=nothing
set rs2=nothing
相关文章:
- 使用ajax的输入jquery意外结束
- jquery ajax”;SyntaxError:意外的输入结束“;基于有效的JSON
- jQuery Ajax+经典ASP返回错误'意外的输入结束'
- 使用.html()添加文本输入时出现意外行为
- 基于给出意外结果的提示输入的逻辑
- 清除输入字段值-STCombobox时出现意外的JS行为
- `同构的fetch`response.json()方法总是抛出意外的输入结束错误
- js文件的第1行出现意外的输入结束错误
- 未捕获的语法错误:输入JavaScript意外结束
- 输入标记的意外标识符
- 未捕获语法异常:第1行输入意外结束
- 节点.js未定义:1 [语法错误:输入意外结束]
- Ajax 调用返回语法错误:输入意外结束
- 从内部HTML更改为表单时获得意外结果,输入类型文本字段
- 谷歌浏览器:语法错误:输入意外结束
- 意外的输入结束 - 快速/节点应用程序上的 curl JSON
- 未捕获的语法错误:输入时刻意外结束.min.js:7
- 带有 JavaScript 异常的 ajax:意外的输入结束
- 运行 AJAX 异步时文档类型标记的“意外输入结束”,但在同步时则不然
- 当将代码作为单独的函数移动时,在末尾出现意外输入