I am building a web application that is supposed to make it easier for users to generate correct XML for a given utility.
As a simple test, I created a textarea that contains the generated XML. I then created a button (<input type="button">
) with a jQuery handler that will send the contents of the text area to my PHP application, which will massage the data and place the various items into a . The code I am using the send the data to PHP is as follows (assume 'this' is a complex object, and doImport() is a function within that object... this is working properly):
doImport : function () {
var $ = this.jQuery,
js = this,
xml = $('textarea#xmlInput').val();
$.post(this.selfRef, {
import : xml
}, function (json) {
if (json.status) {
$('table#tableArea tbody').html(json.tableInfo);
} else {
alert("Error occurred:\n" + json.message);
}
}, 'json');
},
I can examine the data using Firebug, and I'm correctly getting the XML data from the text area. I expect my PHP application to generate a JSON result.
Next, on the PHP side, when I retrieve the POST information using $_REQUEST['import']
, I'm getting the following:
<?xml version=\"1.0\"?> [...]
In other words, the double quotes are being escaped by backslashes.
I've tried examining the string character by character, and I'm indeed seeing the backslashes in the string returned by $_REQUEST['import']
.
I know I am probably overlooking something extremely simple, but for the life of me, I cannot figure out what I'm doing wrong.
Regards,
lar3ry