2014-07-03 91 views
0

首先,让我们说我有这段代码:如何从响应中获取网址?

// Put the results in a div 
    posting.done(function(data) { 
    var content = $(data).find("#content"); 
    $("#result").empty().append(content); 
    }); 

什么从POST请求的对象数据的回报?我想从该帖子请求中获得响应网址,是否有可能?

这是我的代码:

<form id="myForm" name="login" action="http://Xsite.com/login" method="post"> 
    <input type="text" id="TID" name="TID" /> 
    <input type="password" id="TClave" name="TClave" /> 
    <input type="submit" value="Login" /> 
</form> 

<script> 
    $(".myForm").submit(function(event) { 

     event.preventDefault(); 

     var $form = $(this), 
      e = $form.find('input[name="TID"]').val(), 
      p = $form.find('input[name="TClave"]').val(), 
      url = $form.attr('action'); 

     var posting = $.post(url, { TID: e,TClave: p }); 

     posting.done(function(data) { 
     // how to get the url for testing here? 
     alert('data'); // what does this return? 
     }); 
    }); 
</script> 
+1

什么'url'你在说什么?你应该告诉我们你要回来什么。你很可能返回一个json对象。首先,'alert(data)'会给你这个对象,而'alert('data')'。 – karthikr

+0

它可以返回任何东西,取决于'http:// Xsite.com/login'服务器端代码处理您的发布数据的URL。 – Phoenix

+0

我无法访问服务器端代码,是否可以从响应中获取url?服务器端代码是一个执行登录验证的servlet,当凭据无效时,它会返回一个url,如:http://Xsite.com/index?Error=-2,我可以测试响应是否返回该url ? –

回答

0

尝试这种方式提交表格并发送从post.php中文件阿贾克斯成功响应或进行功能

//script 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"> </script> 
<form id="myForm" name="login" action="post.php" method="post"> 
    <input type="text" id="TID" name="TID" /> 
    <input type="password" id="TClave" name="TClave" /> 
    <input type="submit" value="Login" /> 
</form> 

<script type="text/javascript"> 
$("#myForm").submit(function(e) 
{ 
    var postData = $(this).serializeArray(); 
    var formURL = $(this).attr("action"); 
    $.ajax(
    { 
     url : formURL, 
     type: "POST", 
     data : postData, 
     dataType:'text', 
     done:function(data, textStatus, jqXHR) 
     { 
      //if done , you can also use success here 
      console.log(data); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) 
     { 
      //if fails 
      console.log(textStatus); 
     } 
    }); 
    e.preventDefault(); //STOP default action 

}); 
</script> 

//post.php 
<?php 
print_r($_POST); //your posted data 
echo "Xsite.com/index?Error=-2"; //send url when credentials are not valid 
die; 
?> 
+0

'否'Access-Control-Allow-Origin'标题出现在请求的资源上。因此,'null'是不允许访问的.'这是一个跨站请求,也许这就是为什么它不起作用 –

+0

set header(“access-control-allow-origin:*”);如果你有权访问服务器文件。你可以使用jsonp,但它只支持get方法。除非参见http://jvaneyck.wordpress.com/2014/01/07/cross-domain-requests-in-javascript/ –