JQuery :: Get Function Returning String Not JSON Object
Aug 5, 2009
I have a very simple PHP script that returns JSON like this:
{"question":"What day is it?"}
And I'm trying to call it from another page using Ajax. My code looks like this:
var url = "/test.php";
$.get(url,
function(data){
$.each(data, function(i, value) {
alert(value);
}, "json"
);
});
When I run it I get each character printed out one at a time in a separate alert. And then when I used this line of code:
alert(typeof data);
It tells me that 'data' is a string. Shouldn't it be a JSON object?
I'm a beginner in Jquery and I have a big doubt, follow at bellow the code to be better viewed: The method below is static and Static methods do not work with instance, For this reason I passed the 'nameLabel' that the typeis Label by parameter, however I need to catch the exception and show it to the user.
But I'm using Jquery and this method is used in a Ajax Request and I use the Json to pass the datas, how showed below: var idCliente= $("#<%= txtIDCliente.ClientID %>").val(); var nomeLabel = $("#<%= lblMensagem.ClientID %>"); var poligonal = "{ idCliente: " + idCliente + ", + lblMensagem: " + nomeLabel + " }"; But the problem is that I need to pass in my Json the nomeLabel with Label, but always a problem happen, because the same is showed like 'indefined'. How to solve this situation?
How might I go about getting the parsed JSON object in the complete function? The json param shown below seems to just receive the http status text message.
My 2nd question would be how should I knwo if the first place what params I can receive to a callback function like this?
It works fine in FF, but in IE it calls the function updatePageCopy when it creates the object history set. I don't want to call the function when the object is created.
I have a simple example below showing how when I pass in the value of the value attribute of option node, and then use if operator to check whether parameter is a string or not, even though it's a string, it converts it to false boolean and triggers the else statement rather than calling a function.callback should be a string so why is it saying otherwise?
In the following example, I use the function "SetUp(SBox,AObjStr)" to send an object reference to the function "Populate(SBox,SObj)".
Seems to work OK, but it is a 2 step process to assign the JSON objects to the selected drop-down boxes. Fairly easy, but somewhat tedious, to change to fewer or more levels as desired with a common bit of code.
However, what I would like to do is simplify it a bit more ... Is there a way to bypass the "SetUp" function to "Populate" the multi-level drop downs directly? I think what I'm looking for is a way to pass a string in the function that would be recognized as an object (in this case a JSON or other form of array) and be decoded to add options to the drop-down choices, but I don't have a clue as to how that might be accomplished without the extra "SetUp" function!
I have the hover event set up. There are 100 elements in my document of the class square. What I want to do is return the ID of the current square that is hovered and edit the style=' ' attribute of the .square with that specific ID.
Basically what I'm trying to do is write a plug in which connects to a sharepoint web service, traverse the results of the xml document that is returned by the web service for certain elements, and then return a collection of xml elements which I can use in another function on the page that is calling the plugin.My code looks like this:Main Page
<script type="text/javascript"> $(document).ready(function() { var listItems = $.sharepoint();
Im looking to make work my script on both IE and Netscape. It works fine in IE, but netscape cant handle "dynamic" variables. I need some help!
Is there a CORRECT way to pass a string as parameter and then use it as an object in Netscape? IE does that without problem... and Netscape seems not able to handle it.. Code:
I've been going through the documentation for the deferred objects API, and one thing that's still not clear to me is : what jQuery functions are returning a deferred object?
The documentation seems to say that jQuery.ajax() and the animation functions like jQuery.fadeIn() does (what about jQuery UI effects?), but the pages for those functions say they return a jqXHR object and a plain jQuery object.
I use $.getJSON for all my ajax stuff and it works beautifully but there is one particular situation where I use an iframe hack to do an ajax file upload and even though the returned value is a json object (created with PHP), jQuery treats it like a string. I'm using json2.js right now and it does the trick but I don't like including that much extra code because of one rare situation. So my question is, be it with $.getJSON or by specifying 'json' as the expected return type of an ajax request, jQuery *seems* to be able to convert into json. The string returned is already a json object, I just need jQuery to be able to treat it like one. I've tried wrapping it in a jQuery object but no use. (and I really don't want to go down the eval() path)...
I am running the scripts below which should return a string containing a URL.So far, it cannot find the form contents in Firefox, but displays the non-dynamic data such as ?Location=. It won't work at all in IE.
I'm a complete newbie to JSON and I'm trying to make some sense out of itI think that what I want to achieve is fairly basic, but I have no clue where to begin. Here's my problem:I want to get the information from this JSON-string, fetch the value for realm_rank and display it within a header-tag in my html-code.
I have a string that is like [{"carePacks": [{"businessCode":"J1PS","description":"HP 1"}],"coveragePeriod":12}, {"carePacks":[{"businessCode":"J1PS", "description":"HP s"}],"coveragePeriod":13}]. How to convert it to a json structure and how to get data from the data structure, like get "HP 1".
Need some help with my For loop. The issue is that, my loop is only returning the values of the last item in the js file. I want the select box to include all possible names.
php page is echoing out:{"species":"Please select a species!"} I double checked the response from the php and firebug shows the same. On success alert is not alerting the JSON data instead, I'm receiving [object Object]. Why is that and how do what should I do to fix this?
My plan was to insert an HTML string from a JSON file into the DOM. As an example for the format, see [url]. I was wondering how I could get the parse.text['*'] inserted into the DOM.
I'm trying to parse a Json string received by $.getJSON(). I can receive the string but firebug gives me an "invalid label" error. I think it is because the string is an hash array with a number as first label, but I'm not sure. This is the string:
{"15":{"id":15,"x":0.4589937586135409,"y": 0.8324914620560137,"z":-0.9435707004102728,"rawData":"1256204002860 13 -442866538 18392602 647462767 314 1777206957 -1664784174 "}} and this is the non-working code:
From the code given below, I think it's pretty obvious what problem I'm having, but I'll explain:
Javascript is only returning HTML DOM attribute values when they are assigned by the javascript function, not when they are assigned by CSS. So, if I set the background colour of a div using CSS, then try to call that attribute value, JS doesn't return it, BUT, if I then assign a new value using JS, it can correctly read the attribute value.
What am I doing wrong? Or can javascript not pull HTML DOM attribute values assigned by CSS?[code]...
I need to be able to match a particular element in a "row" of a multidimensional array, and then find and reference the other elements in that "row".
Below is a sample of the whole array...
Code: var commercialProductList=new Array( new Array("Sydney Automobiles - Online","Sydney_Automobiles_Online","users",60.39,3.02,1.21), new Array("Sydney Automobiles - Hard