当前位置: 首页 > 知识库问答 >
问题:

JSON中的post方法在angular中的位置0处出现意外标记N

公孙宏远
2023-03-14

我在angular中得到以下错误我的后端是java

SyntaxError:在JSON中,在XMLHttpRequest.onload(http://localhost:4200/vendor.js:10132:51)zoneDelegate.invokeTask(http://localhost:4200/polyfills.js:3626:31)zoneDelegate.invokeTask(http://localhost:4200/vendor.js:73280:33)zoneDelegate.invokeTask(http://localhost:4200/vendor.js:3625:60)zone.runtask:47)在zonetask.invokeTask[as invoke](http://localhost:4200/polyfills.js:3700:34)在invokeTask(http://localhost:4200/polyfills.js:4838:14)在xmlhttprequest.globalzoneawarrecallback(http://localhost:4200/polyfills.js:4875:21)

bank.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Bank } from './bank';

@Injectable({
  providedIn: 'root'
})
export class BankService {

  private baseurl='http://localhost:8080/';

  constructor(private http:HttpClient) { }

  getAllCustomers():Observable<any>{
    return this.http.get('http://localhost:8080/allbank');
  }

  addCustomer(bank:Bank):Observable<any>{
    console.log(bank)
    return this.http.post(this.baseurl+'bank',bank);
  }

  getCustomer():Observable<any>{
    return this.http.get('{$this.baseurl}/bank/${id}');
  }


}

组件

import { Component, OnInit } from '@angular/core';
import { BankService } from '../bank.service';
import { Bank } from '../bank';
import { FormGroup, FormControl } from '@angular/forms';

@Component({
  selector: 'app-add-customer',
  templateUrl: './add-customer.component.html',
  styleUrls: ['./add-customer.component.css']
})
export class AddCustomerComponent implements OnInit {

  constructor(private bankService:BankService) { }
  bank:Bank=new Bank();
  submitted=false;

  ngOnInit() {
    this.submitted=false;
  }
  banksaveform=new FormGroup({
    bankcustid:new FormControl(),
    bankcustname:new FormControl(),
    bankcustbalance:new FormControl(),
    bankcustpassword:new FormControl()
  })

  saveCustomer(saveCustomer)
  {
    this.bank=new Bank();
    this.bank.cust_id=this.banksaveform.get("bankcustid").value;
    this.bank.cust_name=this.banksaveform.get("bankcustname").value;
    this.bank.cust_balance=this.banksaveform.get("bankcustbalance").value;
    this.bank.cust_password=this.banksaveform.get("bankcustpassword").value;
    this.submitted=true;
    this.save();
  }

  save()
  {
    this.bankService.addCustomer(this.bank)
    .subscribe(data=>console.log(data),error=>console.log(error));
    this.bank=new Bank();
  }

  addCustomerForm()
  {
    this.submitted=false;
    this.banksaveform.reset();
  }

}

共有1个答案

柯国安
2023-03-14

当您发出HTTP请求并试图解析响应,但响应不是JSON格式时,就会发生这种情况。

为了查找此bug的来源,您可以做的一些有用的事情是重写json.parse()和XMLHttpRequest.open()方法

将其放在app.module.ts的顶部,例如:

// Override JSON.parse for debug purposes
(function () {
    var parse = JSON.parse;

    JSON.parse = function (str) {
        try {
            return parse.apply(this, arguments);
        } catch (e) {
            console.log('Error parsing', arguments);
            throw e;
        }
    }
}());


// Override XMLHttpRequest.open
(function() {
    var origOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function() {
        this.addEventListener('load', function() {
            console.log('Http Response', this.responseText, this);
        });
        origOpen.apply(this, arguments);
    };
})();

一旦获得了未解析内容的值,请从覆盖的XMLHttpRequest.open中查找匹配的日志。检查请求,您将看到URL/endpoint是什么。

 类似资料:
  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然遇到错误。 Feed.js: 在Chrom

  • 我有以下PHP类: 在这个类中,我有两个主要功能,第一个是连接到服务器,另一个是登录。 然后,在Angular web应用程序中,如果用户添加了他的凭据,这些凭据将通过Angular 6的HttpClient发送到login.php脚本: error:SyntaxError:Excurned token 下面是一张截图: 在network选项卡中,我从login.php返回了一个错误: 注意:未定

  • 你知道我必须如何正确配置Springendpoint吗? 编辑我尝试了以下操作:

  • 想要显示图像,在ionic页面的视图中用Laravel从rest API响应。 代码在使用postman测试时有效,但在ionic中出错: 服务或提供商中的Frent-end(离子) 组件:

  • 问题内容: 在处理类似于Facebook的内容提要的React应用程序组件中,我遇到了一个错误: Feed.js:94未定义的“ parsererror”“ SyntaxError:JSON中位置0处的意外令牌< 我遇到了一个类似的错误,事实证明这是render函数中HTML的错字,但这里似乎并非如此。 更令人困惑的是,我将代码回滚到了较早的已知工作版本,但仍然出现错误。 Feed.js: 在Ch

  • 问题内容: 我已使用php脚本(save-data.php)将数据成功保存到json文件中,但无法使用get-data.php脚本正确获取数据。 错误消息: angular.js : 12520语法 错误: Object.parse(本地)位置0处的JSON中的意外令牌< save-data.php : get-data.php : save-data.json : 样品控制器 : 编辑:我不需要