2014-01-30 101 views
0

我为表单POST使用Ajax,这样我就可以轻松地在页面上使用验证。如何通过ajax将变量传递给重定向页面

下面这行是我不再使用了Python:

return self.redirect("partner/snarf", src=src) 

src是我需要检索下一个页面上


我的jQuery

数据
$(form).unbind('submit').bind("submit", function(event) { 
    WHOAT.networking.postViaAjax('/partner', params, function (response) { 
     // if success! 
     if (response.statusText === "OK") { 

      // Here is the Ajax redirect, and need to also attach the src    
      WHOAT.networking.redirectToURL('/partner/snarf/'); 

     // if error 
     } else if (response[0].message) { 
      var errorMessage = response[0].message; 
      $('#portal_container .warning p').text(errorMessage); 
      $('#portal_container .warning').fadeIn('slow'); 
     } 
    }); 
    return false; 
}); 

阿贾克斯函数

var postViaAjax = function (url, params, callback) { 
    ajaxCall(url, params, callback, 'POST'); 
} 

var ajaxCall = function(url, params, callback, postMethod) { 
    $.ajax({ 
     type: postMethod, 
     url: url, 
     data: params, 
     success: callback, 
     dataType: 'JSON', 
     statusCode: { 
      200: function (data, textStatus, jqXHR) { 
       callback(data); 
      }, 
      201: function (data, textStatus, jqXHR) { 
       callback(data); 
      }, 
      400: function (data, textStatus, jqXHR) { 
       callback(data); 
      } 
     } 
    }); 
} 

你会如何发送src?我想

一种方式是通过URL,这是下一步我会尝试...

+0

是使用URL来传递数据的GET请求 – Nirus

+0

将URL添加到已经发送到服务器的参数中。 – adeneo

+1

您可以在其中找到“src”的值。 ajax调用的响应内部?在进入Javascript的当前范围?你需要** src **是'redirectToURL'的属性,如:'WHOAT.networking.redirectToURL('/ partner/snarf /',src)'?或者将'src'添加到当前参数中,例如:'WHOAT.networking.redirectToURL('/ partner/snarf /'+ src)'? – Frogmouth

回答

0
redirectToURL('/partner/snarf/?src='+params.register_src); 

将在src变量添加到URL,并把它传递这样

这也将工作:

redirectToURL('/partner/snarf/',src)? or add src to current params like:  
redirectToURL('/partner/snarf/'+src) 

THX到@Frogmouth