【问题标题】:AngularJS http post to ASP is not getting dataAngularJS http post 到 ASP 没有获取数据
【发布时间】: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"' 该变量会在数据库中正确显示。

标签: asp.net angularjs


【解决方案1】:

我找到了解决方案。结果 AngularJS 将数据作为 JSON 发送,而不管标头如何。所以我通过添加 jQuery 然后在数据周围添加 $.param 来解决它。

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: $.param({
        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);
      });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多