angularjs-SyntaxError:从服务器返回请求时出现意外令牌

萨尔·库里尔(Saar Kuriel)

我正在为我的前端和C#asmx服务使用angular以与数据库相对应。

我有用于验证用户密码的服务。C#服务返回密码,角度服务验证密码。

C#服务:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Auth(string username)
{
    string password = "";
    using (SqlConnection con = new SqlConnection(GetConnectionString()))
    {
        SqlCommand cmd = new SqlCommand("Select PASSWORD from users where USERNAME = '" + username + "'", con);

        //Open Connection
        con.Open();

        //To Read From SQL Server
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            password = dr["PASSWORD"].ToString();
        }

        //Close Connection
        dr.Close();
        con.Close();
        this.Context.Response.ContentType = "application/json; charset=utf-8";
        this.Context.Response.Write(password);

    }
}

角度服务:

service.Login = function (username, password, callback) {
        var q = $q.defer;
        $http({
            url: 'services/ShiftLogService.asmx/Auth',
            dataType: "json",
            method: "POST",
            data: { username: username }
        }).success(function (data) {
            console.log(data);
        }).error(function (data) {
           // q.reject();
        });
        return q.promise;

    };

C#服务运行良好。响应很好。我知道这不是最佳做法或安全措施,请放在一边。

角度服务抛出

SyntaxError: Unexpected token l
at Object.parse (native)
at uc (http://localhost:15380/bower_components/angular/angular.min.js:17:6)
at ac (http://localhost:15380/bower_components/angular/angular.min.js:90:253)
at http://localhost:15380/bower_components/angular/angular.min.js:91:164
at q (http://localhost:15380/bower_components/angular/angular.min.js:7:355)
at ed (http://localhost:15380/bower_components/angular/angular.min.js:91:146)
at c (http://localhost:15380/bower_components/angular/angular.min.js:92:403)
at http://localhost:15380/bower_components/angular/angular.min.js:128:305
at m.$eval (http://localhost:15380/bower_components/angular/angular.min.js:142:467)
at m.$digest (http://localhost:15380/bower_components/angular/angular.min.js:140:47)(anonymous function) @ angular.js:13363(anonymous function) @ angular.js:10162(anonymous function) @ angular.js:15621m.$eval @ angular.js:17059m.$digest @ angular.js:16771m.$apply @ angular.js:17121g @ angular.js:11298x @ angular.js:11561v.onload @ angular.js:11624

你能帮我吗?谢谢。

戴维特·特维迪亚尼(Davit Tvildiani)

这是因为您返回的是字符串,而不是有效的json

public class PassWordClass{
    public string Password {set; get;}
}

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public PassWordClass Auth(string username)
{
    string password = "";
    using (SqlConnection con = new SqlConnection(GetConnectionString()))
    {
        SqlCommand cmd = new SqlCommand("Select PASSWORD from users where USERNAME = '" + username + "'", con);

        //Open Connection
        con.Open();

        //To Read From SQL Server
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            var pass = new PassWordClass();
            pass.Password = dr["PASSWORD"].ToString();
            return pass;
        }
    }
}

这是转换请求的json的正确方法:

 $http({
            url: 'services/ShiftLogService.asmx/Auth',
            responseType : "json", //<-- change like that
            method: "POST",
            data: { username: username }
        })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SyntaxError:Object.parse(本机)AngularJS处出现意外令牌o

AngularJS SyntaxError:意外令牌

Angularjs Flickr API语法错误:使用nojsoncallback = 1时出现意外令牌

在 angularJs 中返回请求响应

AngularJS Uncaught SyntaxError:意外令牌:

AngularJS $ http获取服务“ SyntaxError:意外令牌}”问题

从服务器加载外部jsonfile时出现Angularjs错误

反应路由器-未捕获的SyntaxError:使用参数刷新URL时出现意外的令牌<

SyntaxError:编译ejs时出现意外令牌

将Angular组件降级到AngularJS时出现意外的提供程序

表达式或语句中出现意外的令牌“服务器”

JsonP返回“未捕获的SyntaxError:意外的令牌:” AngularJS-routingnumbers.info

AngularJS-对本地服务器的请求失败

数据从 spring java 控制器返回到 angularjs 服务时出现 406 错误

SyntaxError:JSON中出现意外的令牌\

SyntaxError:如果出现意外令牌

向Express Server发出多个AngularJS Post请求?服务器在第二次发布请求时崩溃

angularjs,加载本地json结果为“ SyntaxError:意外令牌'”

SyntaxError:意外令牌`<`-AngularJS应用程序无法正常工作

(NodeJS / AngularJS) 向服务器发送带有“x-auth”令牌的 POST 请求,但令牌似乎在预检中丢失了(虽然没有错误)

使用babel装饰器时出现意外令牌@

在AngularJS中进行服务器处理时禁用按钮

在Docker Windows上的Keycloak中添加领域时出现意外服务器错误

令牌与angularjs

由于出现意外的令牌ILLEGAL,因此无法在JavaScript中使用服务器端变量

SyntaxError:JSON位置0处出现意外的令牌C-Ionic 2 Http GET请求

SyntaxError:解析时出现意外的EOF

使用AngularJS进行服务器轮询

AngularJs服务器节点js / get