【发布时间】:2016-04-24 10:49:39
【问题描述】:
当我将 AngularJS 中的 $http 帖子使用到将数据插入数据库的 .ASP 页面时,我得到了代码 200 的成功响应,但数据库只得到空变量。
我的 AngularJS 代码:
var email = "test@email.com";
var firstName = "First Name Test";
var lastName = "Last Name Test";
var points = 10;
var id = "ID TEST";
$http({
url: "manageUser.asp",
method: 'POST',
data: {
emailPost: email,
firstNamePost: firstName,
lastNamePost: lastName,
pointsPost: points,
idPost: id
}
}).then(function successCallback(response) {
alert("Success! "+response.status);
}, function errorCallback(response) {
alert("Error! "+response.status);
});
我的 manageUser.asp 页面:
email = request("emailPost")
firstName = request("firstNamePost")
lastName = request("lastNamePost")
points = request("pointsPost")
id = request("idPost")
sql = "INSERT INTO databaseName.tableName (email, firstName, lastName, points, id) VALUES (" &_
"'" & email & "', " &_
"'" & firstName & "', " &_
"'" & lastName & "', " &_
"'" & points & "', " &_
"'" & id & "')"
ADODBConn.Execute sql
这是manageUser.asp的pastebin,这是包含的conn.inc文件pastebin
【问题讨论】:
-
能否删除数据中的双引号,然后重试?例如,
emailPost: ""+email+"",到emailPost: email, -
@Win 我试过了,没有任何改变。在我的数据库中仍然得到空结果。创建了一个新行,但变量保持为空。我编辑了帖子以删除那些引号
-
在将变量设置到控制台或记录
print email/console.log(email)后尝试打印出变量的值,这样您就可以确定request("emailPost")实际上是在返回一个值。 -
您是否看到任何 JavaScript 错误?您能否删除
headers: {},并请发布提琴手会话? -
@gh0st 我不确定如何打印到控制台。我试过做 Response.write 或 console.log 但 500 内部服务器错误。我不认为它会返回一个值,因为如果我将其更改为 'email = "test_email"' 该变量会在数据库中正确显示。