JQuery :: Function(data) Not Being Executed After $.post
Mar 22, 2010
I am new to all this but making good progress and having fun in the process. I have written quite a bit over recent weeks (including a few $.post / $.ajax calls) for various sites/applications but this one is really puzzling me. Here is a snippet of code that is causing me problems.
[Code]....
The problem is that execution jumps from line 2 to line 6 ... ignoring the function(data) and I am not sure why. I get the correct value of "team" arriving at the perl script .... and the perl writes the correct json back. I just can't think where else I need to look to debug this - as I said, I have done something similar 5-6 times over the last few weeks - all without a problem. So I am sure I am doing something stupid here.
When i call alert(data), it says it is "undefined". i am new to jQuery, but this appears to mean that no data is being passed to the callback function even though i know the $.post() executed properly (the server side code is executing, and the other alert() tells me that it had a successful result and the callback is being made.
I have a div with a click event that fires a show('slow')... however if the user clicks on the div multple times the animation plays that many times... is there a way to make it so that the click event is only executable once the animation is complete?.
I have an unordered list with each LI having an onclick event of "changeTabContent". When the page loads, I trigger the active LI's click. On a click, first thing I do is remove the previous results, which are a UL living under the "li.active" element. Next, I move the "active" class to the LI that was pushed and off the old one. Next, I add a loading animation to the screen. Next I append a new UL to the new "li.active" and use the load() method to insert a bunch of LI's from a different page. onSuccess, I remove the loading animation. [note 1] Next, you'll see a hack I added, more on that in a minute... Last two steps are to add a "more" link to the bottom of the returned li's, if a link was passed into the function, and finally I remove a handful of LI's (excluding more link) so there are only "x" on the screen.
My #1 problem is that the more link is not showing up at times, and the cleanList function is not removing LI's. I believe the problem is that with the load being async, sometimes those last two steps are being hit, but there is no LI's in the DOM yet. You can see I tried to run a hack so the while loop will execute when there is no "ul" yet. [note 1] - I tried to add the final two steps into the load() callback, but the LI's were NEVER loaded in the DOM when the callback function was executed.
I am trying to retrieve json data from the world bank's API, here's my code: <html> <head> <script src="[URL]"></script> <script type="text/javascript"> var theData; $(document).ready(function(){ $("button").click(function(){ $.ajax({ url: '[URL]', success: function(data) { /*this alert message does not show*/ alert(data); }, dataType: 'json' }); }); });
</script> </head> <body> <p></p> <button> Get World Bank Data </button> </body> The callback function is not executed but there is response when I checked it using firebug.
I wonder if i can make the variable data which is [data] in jQuery.post( url, [data], [callback], [type] ) dynamic. for instance, this is the form i want to send,
I am writing a small data entry screen that will post the form data to a page and return a message. But i cannot get the Success or Error functions working properly.
Here's the code where strData is the posted querystring of:
I'm not sure whether it should be in a form and using the onsubmit or click of a button.
I'm a total JS/jQuery newbie, and I'm having a problem using jQuery's load() to POST data to a remote PHP script and rewrite a DIV with whatever the server sent back.
Using a proxy in between, I can see that the JS script isn't sending anything, so I guess there's something wrong in the JS code I send to the browser [code]...
i want to send data(inputdata) using jQuery to a php script, the displaying the returned data(returndata) in a div but what happened that the (inputdata) don't get send this is my code it will explain it self better: HTMLfile.HTML
<HTML> <head> <script type="text/javascript" src="jquery.js"></script> <SCRIPT language="JavaScript"> function swapContent(inputdata){ [Code]...
I have some radio buttons and do a jquery post on click. Something like this: $.post("method", { value: value }, function(data) { alert(data); }); the value data does have the correct result, but my problem is the page doesn't refresh to that data.
The script below works, but only returns one headline/url from the html list.I am coming from a procedural background and know there must be a better way to pass all the urls and headlines (the link text) to my PHP script, which populates my database, but even after reading 'Jquery in Action' I am flummoxed.how to attack this problem? The .each portion of my script does not seem to work as I expect it to. I have also tried append, which would seem to be a solution ... really all I need is the "which" value from the url, so passing a simple array of those values to PHP would suffice.
$.post, it calls a php file which retrieves data from my database and should return a JSON datatype result. I checked on firebug, and it does successfully retrieve the data in JSON format. I however cannot get it to display on screen. I want to populate input fields with the result accordingly.
Here's a chunk of my javascript: (this function is being triggered by a dropdown) function updateBillingAddFields(address_book_id) { jQuery.post("ajax_checkout_confirmation.php", { address_book_id: address_book_id, action: 'get_shipping_add_details' }, function(data){ var form_element = document.forms['address']; form_element.elements['entry_name'].value = data.entry_name; form_element.elements['entry_addr1'].value = data.entry_addr1; form_element.elements['entry_addr2'].value = data.entry_addr2; form_element.elements['entry_addr3'].value = data.entry_addr3; form_element.elements['entry_addr4'].value = data.entry_addr4; form_element.elements['entry_postcode'].value = data.entry_postcode; form_element.elements['entry_state_name'].value = data.entry_state_name; }, "json"); } I tried putting alert inside my function, and it also doesn't show. I'm thinking it doesn't go inside the function at all.
I have been tearing my hair out with this for the past 12 or so hours and am no closer to a solution than when I began.
I have a jquery function to dynamically create <li> tags for an unordered list:
$(function() { var idealist = $('#idealist'); $('.checklist').click(function(event){ item = '';
[Code].....
This is working fine. The problem is I need to somehow pull the ids from each <li> tag into a string or an array that can be made available somehow to php code for further processing. I can create the string or array within my jquery function but can't figure out how to make that available to php.
I then delete testFile.txt and click on 'Submit' without refreshing, and this time, it does NOT create testFile.txt - and hence, my guess is that it is not calling on functions.php, and of course, alert is empty as usual.
What I want to do is this: I want to be able to click on the Submit button - without refreshing the page - and return data from functions.php and display it within a div tag on index.php What am I doing wrong to get an empty alert?
The data is a serilaized form that "alerts" correctly with all the data using this
[code]....
The alert gives me a string like product=p1&qty=1&product=p2&qty=2 But when I try to php echo out the results on basket-calc.php I get an "empty" array [code]...
I created a dialog which has 3 text fields. I added a datepicker to one of them. On submit I'm trying to post the data in the fields to a web service.The first time you fire up the dialog, I'm running into two problems. One, the values I'm getting from the fields are all emtpy. Two, the datepicker doesn't actually populate the field it's attached to. The 2nd time, they all work fine.This is part of the $(document).ready handler: