[x]
Posted via EE Mobile

Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again.

Question
[x]
Attachment Details

AJAX (json) object returned ok on development server but not production server

Asked by jacbmw in Asynchronous Javascript and XML (AJAX), JavaScript

Tags: javascript, firefox 3.0

Ok, this one has me well and truely stumped.

I have the following function that uses jquery to make ajax (json) requests:

function get_content_row(row_id) {
      var session_var = "";
      //alert(row_id);
      var rethtml = $.ajax({
            url: 'admin_json_functions.php',data: 'action=get_content_row&row_id=' + row_id,dataType: 'json',type: 'post',async: false,
            success: function (j) {
                  session_var = j;
      }});      
      return session_var;
}

When this function is called from within Javascript as follows:

var content_row = get_content_row(row_id);
            
alert(content_row['core']['title']);

It works ok on my development server, but on my production server i get the following error:

Error: content_row.core is undefined

The JSON code that is called returns a json_encoded PHP array that is generated from a class and the code is as follows:

if ($_REQUEST['action'] == 'get_content_row' && isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {echo json_encode(get_content_row($_REQUEST['row_id']));exit;}
      

      function get_content_row($row_id) {

            $resp = array();

            $row = new content;
            
            $row->load_content($row_id);

            $resp['core'] = $row->core;
            $resp['category'] = $row->category;
            $resp['author'] = $row->author;
            $resp['media'] = $row->media;
            $resp['taglines'] = $row->taglines;
            $resp['keywords'] = $row->keywords;
            
            
            //return arrayToJS($resp, 'content_row');
            return $resp;
                  
      }            

As I have mentioned, in my dev enviroment (apache 2.2, mysql 5+, php 5+) this all works ok, but in my production server it throughs this error. I understand this may stem back to problems with how the variable may be passed between php and javascript (using ajax as the carrier) and have investigated the following options:

* eval() clientside funciton
* Use of Hash structures and passing through that way.

However this is sort of not my point, what i was hoping to get to the bottom of, is why it may be workign on my dev server, and not production, as if this can be modified to work many, many potential changes to code may be avoided.

Thanks in advance, Jake.
[+][-]10/02/08 09:51 PM, ID: 22631226Expert Comment

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]10/03/08 01:20 AM, ID: 22631992Author Comment

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]10/05/08 08:00 PM, ID: 22646997Author Comment

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
 
Loading Advertisement...
20091118-EE-VQP-93 - Hierarchy / EE_QW_2_20070628