[jQuery] Ajax Jquery PHP Echo Ampersands HTML Anchor Tag Issues
Hello,
I am trying to echo fragment of HTML from a PHP page. The code goes as
follows:
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
which should ideally be:
main.php?page=config_detail&app=26&config=1000
Please advice,