Krijg AJAX request data niet juist door
deze tutorial heb ik een leuke ajax-popup gebouwd voor op mijn site.
Echter één probleempje.
Ik heb uiteindelijk deze code, en ik krijg de hele tijd: "Er is een fout opgetreden. Route 8836:".
Als ik met console.log(data) de ajax data bekijk, krijg ik die gewoon in mijn console te zien? Maar waarom krijg ik dan bovenstaande fout te zien? Klopt er iets niet in de if-structuur?
Die route bestaat verder wel.
Aan de hand van Echter één probleempje.
Ik heb uiteindelijk deze code, en ik krijg de hele tijd: "Er is een fout opgetreden. Route 8836:".
Als ik met console.log(data) de ajax data bekijk, krijg ik die gewoon in mijn console te zien? Maar waarom krijg ik dan bovenstaande fout te zien? Klopt er iets niet in de if-structuur?
Die route bestaat verder wel.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php // kleurtjes van PHP, voor JavaScript.
$.ajax({
type: 'GET',
url: '/inzet/'+route,
data: 'xmlHttp=1',
success: function(data)
{
console.log('mat popup, ajax gelukt');
// Verify that we're pointed to a page that returned the expected results.
if (data.indexOf('.inzetPopupResult') < 0)
{
console.log('indexOf lager dan 0');
console.log('Data:'+data);
$('#PopupMaterieelInzetContainer').html('<span>Er is een fout opgetreden. Route: '+route+'.</span>');
//$('#PopupMaterieelInzetContent').html('<span >Page ' + pageID + ' did not return a valid result for person ' + currentID + '.Please have your administrator check the error log.</span>');
}
// Verify requested person is this person since we could have multiple ajax
// requests out if the server is taking a while.
if (data.indexOf(route) > 0)
{
console.log('data Indexof Hoger dan 0');
var text = $(data).find('.inzetPopupResult').html();
$('#PopupMaterieelInzetContent').html(text);
}
}
});
?>
$.ajax({
type: 'GET',
url: '/inzet/'+route,
data: 'xmlHttp=1',
success: function(data)
{
console.log('mat popup, ajax gelukt');
// Verify that we're pointed to a page that returned the expected results.
if (data.indexOf('.inzetPopupResult') < 0)
{
console.log('indexOf lager dan 0');
console.log('Data:'+data);
$('#PopupMaterieelInzetContainer').html('<span>Er is een fout opgetreden. Route: '+route+'.</span>');
//$('#PopupMaterieelInzetContent').html('<span >Page ' + pageID + ' did not return a valid result for person ' + currentID + '.Please have your administrator check the error log.</span>');
}
// Verify requested person is this person since we could have multiple ajax
// requests out if the server is taking a while.
if (data.indexOf(route) > 0)
{
console.log('data Indexof Hoger dan 0');
var text = $(data).find('.inzetPopupResult').html();
$('#PopupMaterieelInzetContent').html(text);
}
}
});
?>
Gewijzigd op 24/11/2011 10:23:56 door - Ariën -
Waarom als data 'xmlHttp=1'? Daarin moet toch het id van het item komen? Dan is naar mijn weten route ook niet meer nodig.
Gr,
Niels
De GET-parameter 'xmlHttp=1' zorgt er alleen maar voor dat die module als ajax-call opgeroepen zal worden. Zonder die parameter wordt er een normale webpagina getoond.
De var. 'route' wordt verder wel gedefinieerd buiten dit deel relevante code om, dus dat komt wel goed.
Snaps?
Verder heb ik het probleem getackeld, die indexOf moet gewoon de naam van de class bevatten.
Gewijzigd op 25/11/2011 21:50:31 door - Ariën -