PDA

View Full Version : ajax call variables of VB


squishi
11-28-2010, 07:18 PM
I have added a simple ajax call to the "onunload" event of a custom vbulletin page.
The custom page only contains the script with the ajax call and the header/navbar/footer of vbulletin.

$.ajax({
url: '/outro.php',
async: false,
cache: false,
dataType: 'text',
data: ({
var1: '1',
var2: '2'
}),
type: 'POST',
success: function(data) {
alert(data);
}
});


I checked the result with the following code in outro.php:
chdir('../forum');
require_once('./global.php');

var_dump($_REQUEST);
die();


The result:
array(15) {
["var1"]=>
string(1) "1"
["var2"]=>
string(15) "2"
["ajax"]=>
int(1)
["s"]=>
&string(0) ""
["styleid"]=>
&int(0)
["langid"]=>
&int(0)
["referrerid"]=>
&int(0)
["postid"]=>
&int(0)
["threadid"]=>
&int(0)
["forumid"]=>
&int(0)
["pollid"]=>
&int(0)
["a"]=>
&string(0) ""
["mode"]=>
&string(0) ""
["nojs"]=>
&int(0)
["pagenumber"]=>
&int(0)
}


There's all kinds of vbulletin variables that are added to this jquery ajax request! :down:
How can this be? Where do they come from? How can I turn this off?

Those additional ajax variables are totally unnecessary for my uses and will only slow things down.

kh99
11-28-2010, 08:19 PM
I think they are added to $_REQUEST by including global.php. If you look at the top of global.php you'll see that those extra vars are all things that are "cleaned" by global.php. I think the cleaning code (which is in includes/class_core.php) sets those to ensure that any other code that uses them uses the "cleaned" values.

squishi
11-30-2010, 11:46 PM
You are right. I thought all those variables were sent with the ajax request. But they are only added on teh server-side.