* fix for http://www.zentao.net/thread/86375.html.
This commit is contained in:
@@ -595,7 +595,9 @@ class baseHelper
|
||||
*/
|
||||
public static function isAjaxRequest()
|
||||
{
|
||||
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
|
||||
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
|
||||
if(!$isAjax) $isAjax = (isset($_GET['HTTP_X_REQUESTED_WITH']) && $_GET['HTTP_X_REQUESTED_WITH'] == 'true');
|
||||
return $isAjax;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1535,6 +1535,7 @@ class baseRouter
|
||||
}
|
||||
|
||||
unset($passedParams['onlybody']);
|
||||
unset($passedParams['HTTP_X_REQUESTED_WITH']);
|
||||
$passedParams = array_values($passedParams);
|
||||
$i = 0;
|
||||
foreach($defaultParams as $key => $defaultValue)
|
||||
|
||||
Vendored
+23
@@ -1,3 +1,4 @@
|
||||
var ajaxFormUrl = '';
|
||||
$.extend(
|
||||
{
|
||||
ajaxForm: function(formID, callback)
|
||||
@@ -9,6 +10,28 @@ $.extend(
|
||||
timeout : config.timeout,
|
||||
dataType:'json',
|
||||
|
||||
beforeSubmit:function(arr, $form, options)
|
||||
{
|
||||
/* Check should use frame. */
|
||||
var feature = {};
|
||||
feature.fileapi = $("<input type='file'/>").get(0).files !== undefined;
|
||||
feature.formdata = window.FormData !== undefined;
|
||||
var fileInputs = $('input[type=file]:enabled', this).filter(function() { return $(this).val() !== ''; });
|
||||
var hasFileInputs = fileInputs.length > 0;
|
||||
var mp = 'multipart/form-data';
|
||||
var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
|
||||
|
||||
var fileAPI = feature.fileapi && feature.formdata;
|
||||
var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
|
||||
/* Append HTTP_X_REQUESTED_WITH on url when shouldUseFrame is true. */
|
||||
if(shouldUseFrame)
|
||||
{
|
||||
if(ajaxFormUrl == '')ajaxFormUrl = options.url;
|
||||
if(options.url != ajaxFormUrl) options.url = ajaxFormUrl;
|
||||
options.url = options.url.indexOf('&') >= 0 ? options.url + '&HTTP_X_REQUESTED_WITH=true' : options.url + '?HTTP_X_REQUESTED_WITH=true';
|
||||
}
|
||||
},
|
||||
|
||||
success:function(response)
|
||||
{
|
||||
$.enableForm(formID);
|
||||
|
||||
Reference in New Issue
Block a user