jockey_jockey Posted April 25, 2008 Share Posted April 25, 2008 Hello, I have an XSL file and I am firing an Ajax call from a link that would do a GET request to the PHP script and it would return a string that basically holds a snippet of HTML and as I get back the response, the Ajax callback would manipulate an exisiting section of the HTML with the response just received. Its working fine except that I am printing anchor tags which is a GET request to some script. The problem is that the "Ampersand" is not correctly passed on to the XHTML page. Snippets are below: Script that creates the string and echoes on the server side:Snippet: $print .= "<td>"; $print .= "<a href='" . "main.php?page=config_detail" . "&" . "app=" . $_GET['app'] . "&" . "config=" . $config_id_ex[$x]. "'>" .$config_name_ex[$x]. "</a>"; $print .= "</td>"; Link that is actually present on the XHTML file after the AJAX is executed is: http://localhost/main.php?page=config_detail&app=26&%2338;config=1000 But I want it to be "&". Please help, Quote Link to comment Share on other sites More sharing options...
ToonMariner Posted April 25, 2008 Share Posted April 25, 2008 you are using main.php to generate the xhtml and its placing utf-8 codes into the text instead of what you want. Is that correct? if so show us the code you are using to generate the xml and we can highlight the area that needs attention... Quote Link to comment Share on other sites More sharing options...
jockey_jockey Posted April 25, 2008 Author Share Posted April 25, 2008 The URLs that are being generated is a part of a custom framework that we use. So the main.php?page=config_detail means that I go to main.php which redirects me to a page called config_detail.php. Code that has the anchor to the page generating the XHTML fragment: <a id="all_data" name="main.php?process=spec_run&app={$sItem}&all" style="color:#FFFFFF;"> view all </a> So this goes to a page called spec_run at a specific location which is not important for the problem that I have. The request is handled by an AJAX Call (Jquery) as follows: $(document).ready(function() { $("a#all_data").click(function() { var furl = $(this).attr("name"); var turl = furl.split("?"); var page = turl[0]; var params = turl[1]; $.ajax({ //Building request url: page, type: 'GET', data: params, dataType: 'html', //Datatype of the response timeout: 10000000, error: function(xhr,err,e) { alert('error getting raw data' + err); }, success: function(text){ $("table#detail_table").html(text); //On Success, replacing the table tag that has the id: "detail_table" with the contents that it received } }); return false; }); }); The code that generates the XHTML on the spec_run page: $print = ""; $print .= "<table id='detail_table'>"; $print .= "<thead>"; $print .= "<tr>"; $print .= "<a class='sort_link' href='#'>Build</a>"; $print .= "</th>"; $print .= "<th>"; $print .= "<a class='sort_link' href='#'>Config</a>"; $print .= "</th>"; $print .= "<th>"; for ($x=0; $x<$r; $x++) { if($x % 2 == 0) $print .= '<tr class="odd">'; else $print .= '<tr class="even">'; //Build: $print .= "<td>"; $print .= "<a href='main.php?page=build_detail&app=" .$_GET['app']. "&build=" .$build_id_ex[$x]. "'>" .$build_name_ex[$x]. "</a>"; $print .= "</td>"; //Config: $print .= "<td>"; $print .= "<a href='" . "main.php?page=config_detail" . "&" . "app=" . $_GET['app'] . "&" . "config=" . $config_id_ex[$x]. "'>" .$config_name_ex[$x]. "</a>"; $print .= "</td>"; $print .= "</tr>"; $print .= "</tbody>"; $print .= "</table>"; echo $print; The tables is being rendered correctly and everything else looks fine except the anchor tags that have messed up ampersands. It actually gets rendered as: main.php?page=config_detail&app=26&%2338;config=1000 Please advice, Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.