我收到了这样的网址
http://m.example.com/user/login
我的老师告诉我,我必须使用ajax或Jquery从一个完全不同的网站调用此URL并使用用户名和密码登录。 这是一个做很多事情的网络服务,现在我只需要登录它 当我打电话给网址时,它会出现这样的错误:
http://m.example.com/user/login?u=blah&p=blah
任何人都知道我该怎么办?
我需要做一些PHP吗?
或者它可以单独用ajax和html完成吗?
我已经这样做了:
$(document).ready(function(){
$("#id").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "http://m.example.com/user/login",
data: "name="+ $('input[name='u']').val() +"&pwd="+ $('input[name='p']').val() , // change the param names according to your teacher
success: function(response){
// do what ever you want with the response
},
});
和html:
<form method="post">
First name:<br>
<input type="text" name="u" value="blah">
<br>
Last name:<br>
<input type="password" name="p" value="blah">
<br><br>
<input type="button" id="id" value="Submit">
和错误:
{"error": "Shell form does not validate{'html_initial_name': u'initial-js_lib', 'form': <mooshell.forms.ShellForm object at 0x207bfd0>, 'html_name': 'js_lib', 'html_initial_id': u'initial-id_js_lib', 'label': u'Js lib', 'field': <django.forms.models.ModelChoiceField object at 0x2238110>, 'help_text': '', 'name': 'js_lib'}{'html_initial_name': u'initial-js_wrap', 'form': <mooshell.forms.ShellForm object at 0x207bfd0>, 'html_name': 'js_wrap', 'html_initial_id': u'initial-id_js_wrap', 'label': u'Js wrap', 'field': <django.forms.fields.TypedChoiceField object at 0x2238190>, 'help_text': '', 'name': 'js_wrap'}"}
答案 0 :(得分:1)
由于你听起来像初学者,你应该向老师提几个问题。
首先要求将参数名称传递给登录服务所需的服务器。
然后使用以下ajax将值传递给URL,以便调用登录服务。
<form method="post">
First name:<br>
<input type="text" name="u" value="blah">
<br>
Last name:<br>
<input type="password" name="p" value="blah">
<br><br>
<input type="button" value="Submit">
</form>
$.ajax({
type: "POST",
url: "http://m.example.com/user/login",
data: "name="+ $('input[name='u']').val() +"&pwd="+ $('input[name='p']').val() , // change the param names according to your teacher
success: function(response){
// do what ever you want with the response
},
});
表单不应包含提交,而应包含按钮。使用ajax向该按钮添加单击事件。这应该使脚本运行。
响应将是具有成功或失败响应的JSON,或者是页面重定向。只需执行console.log(response)
即可查看从服务器返回的内容。