Nodejs post value transfer method

  node.js, question

The first way:
Front end

$.ajaxSetup({
 contentType: "application/json;  charset=utf-8"
 });
 
 $.post('/test', JSON.stringify({
 "Email": "sfpe@163.com",
 "Password": "123456",
 "person": {
 "age": 25
 bracket
 }), function(data){
 debugger
 });

Back end

console.log(util.inspect({a: req.body}));
 console.log(util.inspect({a: req.body.Email}));

Result

{ a:
 { Email: 'sfpe@163.com',
 Password: '123456',
 person: { age: 25 } } }
 { a: 'sfpe@163.com' }

Second ways
Front end

$.post('/test', {
 post:JSON.stringify({
 "Email": "sfpe@163.com",
 "Password": "123456",
 "person": {
 "age": 25
 bracket
 })
 }, function(data){
 debugger
 });

Back end

console.log(util.inspect({a: req.body.post}));
 console.log(util.inspect({a: req.body.post.Email}));

Result

{ a: '{"Email":"sfpe@163.com","Password":"123456","person":   {"age":25}}' }
 { a: undefined }

Question: Which json format is passed to the backend? I passed it in the second way, and the back end said it was not json format …. In the first way, I reported this error: Response to Preflight Request Doesn’t Pass Access Control Check: No ‘Access-Control-Allow-Origin’ Header Is Present on the Requested Resource. Origin’http://localhost:3000‘ is therefore not allowed access.

I don’t even know whether it is my problem or the back-end problem.