【发布时间】:2015-02-11 20:00:31
【问题描述】:
所以,我是 Web 开发的新手,我需要向服务器发送一个 POST 请求。代码如下:
HTML:
<input type="text" class="form-control" placeholder="User ID" name="email" id="email">
<button class="btn btn-theme btn-block" href="#" onClick="httpPOST(email.value)" type="submit"> <iclass="fa fa-lock"></i>SIGN IN</button>
JavaScript:
function httpPOST(data)
{
var client = new XMLHttpRequest();
var url = "http://193.136.19.86:8080/restaurants/login/";
client.open("POST", url, true);
client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
client.send(data);
}
如果 email.value 中有一个数字,甚至是一个布尔值,则代码可以正常工作。例如,如果我在“email”输入中写“2”,服务器会很好地接收到它。但是,当我写一封真实的电子邮件(或其他字符串)时,它会给我一个 500(内部服务器错误)。
知道我做错了什么吗?
这是使用 Django 开发的服务器视图:
@csrf_exempt
def logtrans(request):
#print(request)
context= RequestContext(request,{})
d=json.loads(request.body)
if request.method == 'POST':
print(d)
return HttpResponse("Done")
提前致谢!
【问题讨论】:
标签: javascript html django post