简体   繁体   中英

Returning Html To XMLHttpRequest Object

I am making an ajax call to a service that returns html as a string with this code..

var xhReq = new XMLHttpRequest();
xhReq.open("POST", "MobileClientService.svc/REST/TestHtmlSend", false);
xhReq.send(null);
xhReq.responseType = "text/html";
var serverResponse = xhReq.responseText;
alert(serverResponse); // Shows "15"

The service creates the html correctly..

<div data-bb-type="item" data-bb-img="Images/imagesBBUI/icons/icon11.png" data-bb-title="Title From Server">

</div>

The problem is "serverResponse" in my code is returning this..

<div data-bb-type=\"item\" data-bb-img=\"Images/imagesBBUI/icons/icon11.png\" data-bb-title=\"Title From Server\">
  \u000d\u000a\u000d\u000a
<\/div>

Here is the C# code used to create the html..

  public string TestHtmlSend()
        {
            string moomoo = String.Empty;

            // Initialize StringWriter instance.
            StringWriter stringWriter = new StringWriter();

            // Put HtmlTextWriter in using block because it needs to call Dispose.
            using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
            {
                //start collapse div
                writer.AddAttribute("data-bb-type", "item");
                writer.AddAttribute("data-bb-img", "Images/imagesBBUI/icons/icon11.png");
                writer.AddAttribute("data-bb-title", "Title From Server");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                //writer.Write("Some Whatever Description");
                writer.RenderEndTag();

            }

            moomoo = stringWriter.ToString();

How do I change my code to return the html as it is without all the extra "\\"?

I've run into weird issues like this before and it usually always boils down to the middleware.

Looks like a variable interpolation issue on the server side.

What is your middleware language and/or framework?

Ensure that you are printing to your output stream in a clean manner:

  • using only a single variable (where you can easily see quote interpolation)
  • not escaping on your output, unnecessarily

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM