使用JQuery和AJAX使用从另一个页面返回的数据填充div

时间:2012-05-24 15:49:27

标签: javascript jquery html

我有一张表单,提交后转到blah.php。问题是,blah.php从站点移到另一个域。 JQuery看到了这个并给出了302 Object Moved error。所以我不得不使用JSONAJAX来发送表单。评论详细信息在下面的Jquery代码中。

流程应该是单击按钮,检查服务器端,如果不是'ok'响应,则在状态div中输出响应并停止该页面上的所有服务器端。如果'ok'是响应,则表单将继续

快速模拟我的代码

<form id="ppform" method="post" action"blah.php">
<input id="someid" type="text" />
<button id="sendbutton">Send</button>
<div id="status"></div>
</form>

$(document).ready(function(){
    $(document).on('click', '#sendbutton', function(){
         $('#status').empty();
         $.ajax({
             type: "POST",
             url: "blah.php",
             data: reqBody,
             dataType: "json",
             success:function(data,textStatus){ 
                  // here I want the div to return data if the response isn't 'ok'
                  if(data!='ok'){
                      $('#status').append(data);
                  }else{
                      // response was 'ok' so empty div, 
                      // show loading gif and submit the form
                      $('#status').empty().html('<div id="proc">Processing</div><img src="loading.gif" />');
                      if (data.redirect){
                         window.location.href = data.redirect;
                      } else {
                         $("#ppform").replaceWith(data.form);
                      }
                  }
               }
         });
    }); 
});

2 个答案:

答案 0 :(得分:0)

我认为,这是一个浏览器安全问题,您无法在不同的域上发送ajax请求。

答案 1 :(得分:0)

如果您使用jQuery执行ajax请求,则可以将数据类型更改为JSONP 做跨域json调用。

此处提供更多信息:

jQuery AJAX cross domain