使用第三方网址呼叫第三方

时间:2015-11-24 06:05:04

标签: php jquery ajax

我收到了这样的网址

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'}"}

1 个答案:

答案 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)即可查看从服务器返回的内容。