JQuery :: Return Query Results From .ajax POST
Aug 24, 2009Is it possible to return Query results from a jquery $.ajax POST call?It seems as though it will only return one value. What am I missing? [code]
View 1 RepliesIs it possible to return Query results from a jquery $.ajax POST call?It seems as though it will only return one value. What am I missing? [code]
View 1 RepliesI am trying to use a $.post call in jQuery to check a user's credentials before submitting a form (so I can show errors without reloading the page), but I've run into a problem. I know why it is, because AJAX is not synchronous, but I just can't figure out how to do it.
In my code the script I'm making the call to returns "valid" or "invalid". If the return is "valid", I want to submit the form, if not, show an error message. Here is a simplified version:
$("#my_form").submit( function () {
some_value = "username"
$.post(script_location, {data : some_value}, function (data) {
response = data
[Code]...
This obviously does not work because code is executed quickly one after another and the variable "response" is not yet set when the execution gets to the if statement, since it is set sometime later, asynchronously.
I looked into using functions, callbacks, but nothing seems to work properly, I always run into the same issue. This is probably really simple, i just a complete dunce, please do let me know what is the standard way of doing this properly.
So I'm currently working on a ASP.NET Webforms site and I've run in to a small problem. On my .cs file I have the following Webmethod
[WebMethod]
public static string IsJobEditable(int jobid){
try{
string isEditable = "false";
JobsBLL jbl = new JobsBLL();
int jobStatusId = jbl.GetJobStatusId(jobid);
//If the jobs is either waiting or being edited it is
okay to edit it
if(jobStatusId ==
Convert.ToInt32(ConstantsUtil.JobStatus.Waiting) || jobStatusId ==
Convert.ToInt32(ConstantsUtil.JobStatus.Edit)){
isEditable = "true";
}return isEditable;
}catch (Exception ex){
throw ex;
}}
This function in this case will ALWAYS return TRUE as a string. On Aspx page I have the following
$(function () {
$.ajax({
type: "POST",
url: "Coordination.aspx/IsJobEditable",
data: "{jobid:" + jobid + "}",
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function (result) {
alert(result);
//This is written out in the alert {"d":"true"}
I want this in a variable as a string so I can do a check on it before I do some other actions. The format is not a String so I cannot split on it to retrieve the "true" part.
},
error: function (err, result) { alert(err); }
});});
As you can see in the comments the value I get back in the Callback method is in to me a weird format. The type is unknown and I need this value to be able to proceed with my entire method surrounding the small portion of the Javascript. Where to access the result variable / data as a var or anything else that will let me put it into a var (as a string).
I just started using jQuery, but i can't get it working. On the index.php page I want a search form, that post's to search.php. Following next, I want that the html of search.php (which will only be a table with the results), is show into the 'results' div in the index.php.
This is the code im using:
<script type="text/javascript">
/* attach a submit handler to the form */
$(document).ready(function(){
alert("Ok - 1");
[Code].....
The alert's are for debugging, but none of them show's up.
I need to change the value of the input box coming from a query result.
M_ACCOUNT_NAME=rsQuery("ACCOUNTNAME")
Here's where I am having problems:
$(document).ready(function() { $('input:text[name=txtAcctName]').val(M_ACCOUNT_NAME);
});
The input box does not display the content of the M_ACCOUNT_NAME. I alreadytested M_ACCOUNT_NAME with simple response.write and it has content. I also tested that I am accessing the right element by substituting val(M_ACCOUNT_NAME) with val('HELLO'). HELLO is displaying correctly.
I'm relatively new to jQuery, and I don't understandy why the following doesn't work. Hopefully, you can enlighten me. I declared a variable: var currHive = $("#masterHive") .find("div.currentHive"); Now I want to see if the query returned the correct element id. So, I tried each of the alert messages shown below, one-at-a-time. This is the strategy I am using to verify the code; i.e. do something, then tell me what I did.
$(document).ready(function(){
var currHive = $("#masterHive") .find("div.currentHive");
alert(currHive).attr(id);/* returns object Object */
alert(currHive.id);/* returns undefined */
alert(this.id);/* returns undefined */
alert($(this).attr('id'));/* returns undefined */
});
Note: I have successfully used --- alert($(this).attr('id')); --- in an experiement to tell me which button was clicked, in a statement using the .bind() method.
In this function, I'm trying to set the value of isValid with the results of $.post:
[Code]...
Unfortunately, isValid never changes from the initial "true". I know that $.post is working correctly because #msg_code reflects the corresponding message.
If I have this:
$.post('/admin/duration', $str, function(data){
var jsonData = eval('(' + data + ')');
return jsonData.TIME;
});
How do I get the return value from the function to use afterwards? I know this must be simple. I'm just not seeing it.
I want to run an external function outside the post.
This is what I have currently.
On success of the post I want to run the setGrandTotal(); function which will do some calculating for me.
I am new to Javascript and i'm currently building a site that entails a 'quiz' part where the client selects an option from a radio button. Then they move on to a different page, and so on and so on until a results page where the correct number of questions answered are made into a percentage.I understand that you can use the GET or POST to pass this into the query string and then extract the answers from the query string but I am having trouble implementing this.
View 1 Replies View RelatedWhen I submit a post request in jquery i.e code...
How can I parse the returned data to get a specific element if the returned data is just an html page?
I'm using this example script and need the search results to post to a another frame and not a new window.Need the results to showup in frame "test1".Or if someone can direct me: looking for a multi search drop down list in a frame environment where after submitting the string the results would show in another frame.
View 4 Replies View RelatedAm calling Webservice in one ajax post, In the success funtion am calling another another method in same webservice through another ajax post method. First ajax post is getting called and returning the string from the webservice method but the inner ajax call is not getting called. I have placed the code here.
[Code]...
This is the script that I am trying to use:
<html>
<head>
<link type="text/css" rel="stylesheet" href="/stylesheets/main.css" /><title>User Admin Page</title>
[Code].....
Is it possible to call a http url for ajax query i.e.[code]
View 2 Replies View RelatedI have been struggling with a form wizard all day. I'm using jquery stepy (form wizard) along with validation plugin. To cut a long story short, my first step is to get MySQL connection from form controls details. On submit ('next' button) a check is made on an empty hidden control ('hid').
rules: {
hid: {
required: function(){
return checkDBData();
},
messages: {
hid:
{required: 'SQL not available'},
...(etc)...
So, if the function checkDBData passes, false should be returned, so that the form can progress to the next step. If the connection details fail, true is returned so that an error msg is posted.
Here's the checkDBData function:
function checkDBData(){
var host = $('#mysql_host').val();
var username = $('#username').val();
var password = $('#password').val();
var dbname = $('#dbname').val();
$.post("install/sqlcheck.php",
{"host": host,"username": username, "password": password, "dbname": dbname},
function(msg){
if(msg.required == false){
return false;
}else{
return true;
}},
"json"
);
}
The return values don't find their way back to the rules. However, if I hard code false and true to the function...
function checkDBData(){
var host = $('#mysql_host').val();
var username = $('#username').val();
var password = $('#password').val();
var dbname = $('#dbname').val();
$.post("install/sqlcheck.php",
{"host": host,"username": username, "password": password, "dbname": dbname},
function(msg){
if(msg.required == false){
return false;
}else{
return true;
}},
"json"
);
return false; //or return true for testing purposes
}
This works. I assume it's due to the asynchronous nature of the ajax call.
I am building an app in Facebook and would like to pull in some Causes stats. In order to do this I am using jQuery and the ajax call. I am also using YQL.
Here is what I have:
As you know this is getting pulled in through an iFrame. This is working just fine in Chrome and FF.
I want to add a comment system after my article, <form id="postform" class="postform"> is written into a MYSQL_QUERY result circle. but after post a comment, the current posted comment will be showed in all the <div class="post_comment"></div>, how to modify jquery ajax part so that the current posted comment only be showed in its own <div class="post_comment"></div>? [code]...
View 9 Replies View RelatedWith storing values Ajax call results into Javascript:
View 1 Replies View RelatedWe're using jQuery ajax quite a bit without issue. Today, however, we ran into an issue where the results of a query are not displayed.fyi... the following works fine in firefox. scenario:
1. load ajax "$("#location").load( url... )" used to retrieve results
2. using fiddler, we can see the results are returned as expected
3. results not displayed. look at the updated dom in IE8 with dev tools and the results are not put into the display area Additional info...
a. using $("#location").load( url, function(data) { alert(data); }); the alert shows the results are returned via the function call as well.
b. the #location is an empty div.. e.g. <div id="location"></div>
c. if we put some text in the div, it will be removed, by the call, but the results still will not display
d. we have removed all .show(), .hide() options
e. if we remove the ajax call and just do a $("#location").text("blah blah blah..."); the results are displayed
f. we have tried both 1.3.2 and 1.4.a1 again, every variation works just fine in firefox.t
This is tough to explain which makes it impossible to search on. I'm guessing this is very basic.
I have an array of objects with variables and ids.
[
{
id: "totalCountOfPeopleToSite",
action: "add",
[Code].....
I loop through this array and create an AJAX request to Google Analytics who returns the data I requested (or an error).
When the data comes back, I want to re-associate it with the object used to make it (as you can see, there might need to be an action performed on it and it should be stored with its ID so I can use it later).
I feel like I've read about a built-in way to pass along arbitrary information (in this case just getting an AJAX request with my made up "id" would be enough), but I can't find it anywhere, and I'm not explaining myself well enough to the Google to get results back.
In the code below I am trying to show the echo statement from a php file. The ajax call works when I use the alert(), but I am trying to put it in a div tag but not working.
View 1 Replies View RelatedI 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 have researched this error/bug/mistake thoroughly with no success. I must be the only one experiencing it. Also, this takes place on every site I develop with jQuery ajax. It happens regardless of whether I use .get, .post, .ajax etc. Problem: The result returned to my ajax function always has a zero (0) appended to it.
[Code]
Ok, I need to have a page where you hit an attack button and it displays your hitpoints after the battle, The problem is that I cannot get ajax to work with a php file if I query the database for the hitpoints.
here is the php [code]...
so, the pseudo code: - on change of input contents, check to see if two input fields are set - if set, update a third field with "loading..." text and a loading gif - use ajax to send data to a url, and get a calculated json response - update the third field with the calculated response
I know I'm getting the correct response, according to firebug: {"pace":"10:00"}
the code:
$('#run_distance').change(function() {
if ($(this).val() != '' && $('#run_time').val() != '')
{
$('#run_pace').val('Calculating Paceā¦');
[Code].....
how to update the #run_pace input field with the json response.