Morgan Allen Morgan Allen - 1 month ago 9
jQuery Question

jQuery POST: setting Content-Type to be text/plain

I can't figure out why this isn't working. On the server, I have this:

@app.route('/message', methods=['POST'])
def print_post():
if request.headers['Content-Type'] == 'text/plain':
logging.warning(request.data)
return "Text Message: " + request.data
else:
logging.warning('didnt work')
return 'Unsupported Media Type'


I'm sending this request through the browser:

$.ajax({
type: "POST",
url: "https://localhost:8090/message",
data: 'this is a message'
contentType: 'test/plain'
})


But I keep getting the error
Uncaught SyntaxError: Unexpected identifier


What am I doing wrong?

Answer

You are missing a comma after your data property in the ajax call, and contentType: 'text/plain'

$.ajax({
    type: "POST",
    url: "https://localhost:8090/message",
    data: 'this is a message', // <-- Put comma here
    contentType: 'text/plain'
})