دوستان من پروژه ای دارم که کاربر یه چارت گرافیکی درست میکنه با استفاده از یه لایبری جاوا اسکریپت و ذخیره میکنه
این لایبری برای ذخیره سازی کد xml میده
حالا من میخوام این کدو تو دیتابیس ذخیره کنم
آیا این درسته خود xml تو دیتابیس ذخیره بشه یا خیر؟
ضمناینکه اون xml رو با ajax ارسال میکنم و میریزنم تو دیتابیس و برای ارسال باید encode کنم
و موقع نمایش از دیتابیس decode
ولی موقع decode اطلاعات کامل نمایش داده نمیشه و تقریبا نصف اطلاعات بصورت علامت سوالو کاراکترهای نا مشخص در میاد
لطفا راهنمائی کنید مرسی
موقع فرستادن و ذخیرهکردن توی دیتابیس به Base64 تبدیل کنین (base64_encode) و موقع خوندن و نمایش دوباره دیکد کنین (base64_decode)
همین کارو میکنم
ولی نتیجه درست نیست کد درست ارسال نمیشه
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementsByTagName("textarea").innerHTML = this.responseText;
}
};
xhttp.open("POST", ajaxUrl , true);
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
var xmlData = textarea.value;
var escaped = btoa(xmlData);
console.log(escaped);
alert(escaped);
xhttp.send('chart='+escaped+'&pwr_center_id='+<?=$pwr_center_id?>);
این کذ xml که میخوام بریزم تو دیتابیس با اجکس
<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="<h1 style="margin:0px;">Transformer</h1><br><img src="http://localhost/mci/resource/theme_default/js/fallow_chart/images/icons48/Transformer.png" width="48" height="48"><br><a href="#" target="_blank">Browse</a>" vertex="1" parent="1">
<mxGeometry x="320" y="70" width="110" height="110" as="geometry">
<mxRectangle width="120" height="40" as="alternateBounds"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
وقتی میفرستم اونور و دیکد میکنم تبدیل میشه به این
<mxGraphModel>
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="<h1 style="margin:0px;">diesel generator</h1><br><img src="http://localhost/mci/resource/theme_default/js/fallow_chart/images/icons48/diesel-generator.png" width="48" height="48"><br><a href="http://www.kiantc.ir" target="_blank">link</a>" vertex="1" parent="1">
<mxGeometry x="290" y="80" width="160" height="160" as="geometry"�^�X�[��H�YH�L��ZY�H���H�[��]P��[�ȋς��^�[�Y]�O���^�[���&��C���ׄw&���FV��
با jQuery امتحان کنید. فکر میکنم مشکل حل بشه. خودم با AJAX داخل jQuery تست کردم و مشکلی نبود. خیلی وقته برای درخواستهای AJAX از خود جاوااسکریپت بدلیل تداخلهای ساختاری مرورگرها استفاده نمیکنم. توی پیام خصوصی در تلگرام هم خودتون به این موضوع اشاره کرده بودین.