ajax 返回页面源,而不是消息
Posted
技术标签:
【中文标题】ajax 返回页面源,而不是消息【英文标题】:ajax returns page source, not the message 【发布时间】:2017-11-12 14:23:13 【问题描述】:我在这里或其他地方在 Google 上看到的所有答案都是使用 jquery。这不是jQuery。
我将一个 ajax 字符串发送到一个 php 文件。 除其他外,php 制定了我回显的消息字符串 返回给客户。 返回的字符串作为警报放在客户端中。 然后表单被重置。问题在于,当我执行此操作时,它会显示警报可以处理的尽可能多的页面源。如果我打开开发人员工具查看返回,它会正确放置消息,而不是页面源。这是我的 ajax 中的返回 sn-p:
ajaxRequest.onreadystatechange = function()
if(ajaxRequest.readyState == 4)
alert(ajaxRequest.responseText);
document.getElementById("thisForm").reset();
php 文件对文本字符串进行简单的回显。
开发者工具是什么让它正确运行?为什么当开发者工具不存在时它不打印警报中的消息?
当我自己运行后端 php 时,无论有没有开发者工具,它都能正确显示消息。
有人有什么想法吗?
更多信息:我尝试用 display.innerhtml=ajaxRequest.responseText 其中 display 是由“div id="ajaxReturn" 的 getElementById("ajaxReturn") 形成的 javascript 对象。它不起作用。当我尝试开发人员工具时,它显示网络响应文本为作为页面源。
我还在 if 语句中添加了 && this.status == 200。没有变化。
【问题讨论】:
看到你的问题我真的很困惑你能用正确的英语更新你的问题吗?您的 sn-p 是纯 javascript 代码,这不是完整的 sn-p 这是发送到服务器的 XHR 请求的 sn-p,当响应返回时,这是用客户端 javascript 编写的响应的一部分。请查看以下链接或更新您的问题。 developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/…返回 我不明白你在问什么。看了三遍还是没看懂。问题很简单。我发送了一个ajax请求。处理得当。它被接收回来并在该 sn-p 中处理并发出警报。但是,放置的内容不是服务器 php 发送的内容。相反,它是客户端页面的 html 源代码。当我使用开发者工具的时候,它把服务器端的 sen.我发现这个问题根本不存在。相反,启动 ajax 的元素中有一个 href="#"。删除那个 href 解决了这个问题。 【参考方案1】:问题解决了。我不会删除它,因为它可能会帮助遇到同样问题的其他一些海报。我通过点击一个名为 ajaxFunction() 的 javascript 函数启动了 AJAX。包含 onclick 的 html 实体中有一个 href="#"。删除那个 href 解决了这个问题。
【讨论】:
以上是关于ajax 返回页面源,而不是消息的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Ajax 调用返回 JSON 字符串而不是对象数组