![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello, I hope someone can help. I'm issuing the following ajax jquery call: $.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, function (data) { for(var i=0; i<data.length; i++){ alert("now processing tweets"); display_tmmmarker(map, data[i], i); } $("#gettingtweets").remove(); }, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { $east = $_REQUEST['east']; $south = $_REQUEST['south']; $west = $_REQUEST['west']; $north = $_REQUEST['north']; $mood = $_REQUEST['mood']; $tweets = get_tmmtweets($east, $south, $west, $north, $mood); json_encode($tweets); } exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
#3
| |||
| |||
|
|
It's been a long time since my last PHP days but shouldn't you echo or print something to get it sent ? It seems you'd get an empty response here (unless json_encode already outputs the answer to the response). And as you expect at least a bit of json to run through and output parts of, your callback may be called but not do anything about the empty response. Hope it helps. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hello, I hope someone can help. I'm issuing the following ajax jquery call: * * * *$.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, * * * *function (data) { * * * * * * * *for(var i=0; i<data.length; i++){ * * * * * * * *alert("now processing tweets"); * * * * * * * *display_tmmmarker(map, data[i], i); * * * * * * * *} * * * * * * * *$("#gettingtweets").remove(); * * * *}, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { * * * *$east * = $_REQUEST['east']; * * * *$south *= $_REQUEST['south']; * * * *$west * = $_REQUEST['west']; * * * *$north *= $_REQUEST['north']; * * * *$mood * = $_REQUEST['mood']; * * * *$tweets = get_tmmtweets($east, $south, $west, $north, $mood); * * * *json_encode($tweets); * * * *} exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
#4
| |||
| |||
|
|
Hi Michel, I added the following statement after json encoding: echo $tweets; to the PHP, but the callback function still isn't getting called. Any other ideas? Thanks for the help. On Nov 7, 11:20 pm, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: It's been a long time since my last PHP days but shouldn't you echo or something to get it sent ? It seems you'd get an empty response here (unless json_encode already outputs the answer to the response). And as you expect at least a bit of json to run through and output parts of, your callback may be called but not do anything about the empty response. Hope it helps. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hello, I hope someone can help. I'm issuing the following ajax jquery call: $.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, function (data) { for(var i=0; i<data.length; i++){ alert("now processing tweets"); display_tmmmarker(map, data[i], i); } $("#gettingtweets").remove(); }, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { $east = $_REQUEST['east']; $south = $_REQUEST['south']; $west = $_REQUEST['west']; $north = $_REQUEST['north']; $mood = $_REQUEST['mood']; $tweets = get_tmmtweets($east, $south, $west, $north, $mood); json_encode($tweets); } exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
#5
| |||
| |||
|
|
Well the doc suggests http://php.net/manual/fr/function.json-encode.php>that json_encode doesn't change the variable passed as a parameter but returns the encoded string so you've got to do something like this : echo json_encode($tweets); To get a jason encoded serialisation of your data output in the response and not : json_encode($tweets); echo $tweets; Which would only output $tweets not encoded. Though if it doesn't work like I tell you, you'd better worry about something else and I don't know exactly what at this point. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hi Michel, I added the following statement after json encoding: echo $tweets; to the PHP, but the callback function still isn't getting called. Any other ideas? Thanks for the help. On Nov 7, 11:20 pm, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: It's been a long time since my last PHP days but shouldn't you echo or something to get it sent ? It seems you'd get an empty response here (unless json_encode already outputs the answer to the response). And as you expect at least a bit of json to run through and output parts of, your callback may be called but not do anything about the empty response. Hope it helps. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hello, I hope someone can help. I'm issuing the following ajax jquery call: * * * *$.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, * * * *function (data) { * * * * * * * *for(var i=0; i<data.length; i++){ * * * * * * * *alert("now processing tweets"); * * * * * * * *display_tmmmarker(map, data[i], i); * * * * * * * *} * * * * * * * *$("#gettingtweets").remove(); * * * *}, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { * * * *$east * = $_REQUEST['east']; * * * *$south *= $_REQUEST['south']; * * * *$west * = $_REQUEST['west']; * * * *$north *= $_REQUEST['north']; * * * *$mood * = $_REQUEST['mood']; * * * *$tweets = get_tmmtweets($east, $south, $west, $north, $mood); * * * *json_encode($tweets); * * * *} exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
#6
| |||
| |||
|
|
I tried echo json_encode($tweets); and still no callback function. The XMLhttp response header looks like this: Date Mon, 09 Nov 2009 00:57:25 GMT Content-Type text/html Connection close Server Apache X-Powered-By PHP/5.2.1 Expires Thu, 19 Nov 1981 08:52:00 GMT Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre- check=0 Pragma no-cache Content-Length 20283 Is the Cache-Control setting of no-store, no-cache a possible problem? Regards, Arnie On Nov 8, 11:14 am, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: Well the doc suggests http://php.net/manual/fr/function.json-encode.php>that json_encode doesn't change the variable passed as a parameter but returns the encoded string so you've got to do something like this : echo json_encode($tweets); To get a jason encoded serialisation of your data output in the response and not : json_encode($tweets); echo $tweets; Which would only output $tweets not encoded. Though if it doesn't work like I tell you, you'd better worry about something else and I don't know exactly what at this point. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hi Michel, I added the following statement after json encoding: echo $tweets; to the PHP, but the callback function still isn't getting called. Any other ideas? Thanks for the help. On Nov 7, 11:20 pm, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: It's been a long time since my last PHP days but shouldn't you echo or something to get it sent ? It seems you'd get an empty response here (unless json_encode already outputs the answer to the response). And as you expect at least a bit of json to run through and output parts of, your callback may be called but not do anything about the empty response. Hope it helps. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hello, I hope someone can help. I'm issuing the following ajax jquery call: $.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, function (data) { for(var i=0; i<data.length; i++){ alert("now processing tweets"); display_tmmmarker(map, data[i], i); } $("#gettingtweets").remove(); }, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { $east = $_REQUEST['east']; $south = $_REQUEST['south']; $west = $_REQUEST['west']; $north = $_REQUEST['north']; $mood = $_REQUEST['mood']; $tweets = get_tmmtweets($east, $south, $west, $north, $mood); json_encode($tweets); } exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
#7
| |||
| |||
|
|
Well no, no-store, no-cache, must-revalidate is exactly what you need here. If you had cache your problem could have been that the cache was keeping a former result from when you didn't output the result. You should check wether you get something in the reply, and if not ask yourself why your PHP script doesn't output anything (my best guess at this point would be that get_tmmtweets($east, $south, $west, $north, $mood); returns nothing that json_encode() likes, if anything), though I don't know get_tmmtweets and I guess I can't help you much here. Michel Belleville 2009/11/9 ArnieML <arnie.lapi... (AT) gmail (DOT) com I tried echo json_encode($tweets); and still no callback function. The XMLhttp response header looks like this: Date * *Mon, 09 Nov 2009 00:57:25 GMT Content-Type * *text/html Connection * * *close Server *Apache X-Powered-By * *PHP/5.2.1 Expires Thu, 19 Nov 1981 08:52:00 GMT Cache-Control * no-store, no-cache, must-revalidate, post-check=0, pre- check=0 Pragma *no-cache Content-Length *20283 Is the Cache-Control setting of no-store, no-cache a possible problem? Regards, Arnie On Nov 8, 11:14 am, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: Well the doc suggests http://php.net/manual/fr/function.json-encode.php>that json_encode doesn't change the variable passed as a parameter but returns the encoded string so you've got to do something like this : echo json_encode($tweets); To get a jason encoded serialisation of your data output in the response and not : json_encode($tweets); echo $tweets; Which would only output $tweets not encoded. Though if it doesn't work like I tell you, you'd better worry about something else and I don't know exactly what at this point. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hi Michel, I added the following statement after json encoding: echo $tweets; to the PHP, but the callback function still isn't getting called. Any other ideas? Thanks for the help. On Nov 7, 11:20 pm, Michel Belleville <michel.bellevi... (AT) gmail (DOT) com wrote: It's been a long time since my last PHP days but shouldn't you echo or something to get it sent ? It seems you'd get an empty response here (unless json_encode already outputs the answer to the response). And as you expect at least a bit of json to run through and output parts of, your callback may be called but not do anything about the empty response. Hope it helps. Michel Belleville 2009/11/8 ArnieML <arnie.lapi... (AT) gmail (DOT) com Hello, I hope someone can help. I'm issuing the following ajax jquery call: * * * *$.get("/ajaxtest.php", { ajax: "true", east: northEast.lng(), west: southWest.lng(), north: northEast.lat(), south: southWest.lat(), mood: amood }, * * * *function (data) { * * * * * * * *for(var i=0; i<data.length; i++){ * * * * * * * *alert("now processing tweets"); * * * * * * * *display_tmmmarker(map, data[i], i); * * * * * * * *} * * * * * * * *$("#gettingtweets").remove(); * * * *}, 'json'); The PHP page looks like this: if ( $_REQUEST['ajax'] == 'true' ) { * * * *$east * = $_REQUEST['east']; * * * *$south *= $_REQUEST['south']; * * * *$west * = $_REQUEST['west']; * * * *$north *= $_REQUEST['north']; * * * *$mood * = $_REQUEST['mood']; * * * *$tweets = get_tmmtweets($east, $south, $west, $north, $mood); * * * *json_encode($tweets); * * * *} exit; I have verified that the $tweets array has been JSON-encoded using array_values. But the callback function isn't being invoked. I put in an alert statement in the callback to verify if the function has been called, but I'm not getting the alert message. Is the $tweets array not being passed on for some reason? Can someone help out? Thanks very much! |
![]() |
| Thread Tools | |
| Display Modes | |
| |