问题标签 [responsetext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - responseText 在 Safari 中包含 null/undefined
这是我的js和问题:
我可以在 IE 和 chrome 中完成这项工作,但在 safari 中失败。
我通过更改对其进行了测试,document.getElementById("text7").innerHTML = 5
它在所有浏览器上都显示了正确的数字。
感觉好像responseText
不包含 safari 的任何值,但包含 chrome 和 IE 的结果。
有人可以帮我吗?
javascript - 处理从 PHP JavaScript (AJAX) 返回的数据的最合适/友好的方法是什么?
编辑:好的,现在我想起来了,JSON 听起来确实不错,只要我编码正确,就不应该有语法错误来破坏它或任何东西。
晚上好!
一直困扰我的是如何在 AJAX 请求中处理从 PHP 返回的数据,以及如何返回数据!
假设我有一个登录表单,它通过 AJAX 处理提交的表单数据。为了简单起见,我们会说我们使用 GET。
"page.php?username=Foo&password=bar"
以下是我的错误/烦恼,以及为什么我会感到强迫并感觉好像我需要知道正确的方法来做到这一点:
我发送了数据,它已被处理。怎么办?
假设我的用户名和密码有效/正确。我该怎么办?
在 PHP 中返回true ?一个字符串?
那么我该如何处理 JavaScript 呢?
我认为一个很酷的想法是将 JSON 对象作为字符串返回,并通过 JavaScript 进行解析。
但是,如果我的用户名和密码组合是……错误怎么办?我是通过 PHP返回false还是再次返回字符串?
在true和false之间,只有 2 个选择: 1. 用户名和密码正确 2. 用户名和密码不正确
但是如果用户名甚至不存在怎么办?返回“false”并不能帮助我告诉客户他们无法登录的确切原因。
深入了解我的强迫症,意外或解析错误呢?
如果存在某种 DB 连接错误或解析错误,我该如何返回以告诉用户?我调查了 Trying...and Catching 语法错误,但我没有运气。
我最近的一个想法是这样做:
如果一切正常执行,并且用户名和密码存在(回到我们原来的场景),那么我们不会返回任何东西。responseText 将是一个空字符串。即表示用户登录成功!
否则,如果出现错误,请返回某些内容(通常是字符串)并将其显示为错误。
我会以正确的方式解决这个问题吗?我在正确的轨道上吗?
asp.net - Updatepanel 响应文本是什么意思?
当我在 Firebug 中查看 updatePanel ajax 响应的响应文本时,我在顶部看到以下代码。
看起来有 8 个项目由“|”分隔。根据这篇文章,我推断出第 5、第 6 和第 7 项分别是内容长度、控件类型和控件 ID。第 8 个位置(未显示)是响应体。
前4个是什么意思?
ajax - ajax 'PUT' in knockout.js not resulting in success
I have a problem when I try to change data in my database trough knockout.js using an AJAX 'PUT'.
If I ignore the errors I am getting and look at the data in the database, I can see that the data is changed correctly. This error is one thing, but isn't the issue I am posting this question (whould be nice to know this to). But I am guessing they are related.
The real problem is that it is suppose to result in success and not in error so that the code referres back to the index after saving the modification of the "article"
The Function in a knockout.js script looks like this: (inside the viewmodel)
When I debug the .js sourcefile in chrome, I get an error: Uncaught SyntaxError: Unexpected end of input right under the folowing in the .js file:
The full error:
When I log the variable "err.responseText" is turns out empty ("").
The AJAX call referes to the following peace of code in my controller:
As you can see I do a direct change in my database trough entity framework (for testing reasons) and when I log the var "articlemodel" it also shows that the data is correct for the modification.
Can't seem to figure this one out myself...
json - Breeze.js 解析 XHR.responseText
自从从 1.1.3 升级到 1.4.2 以来,当 Breeze 尝试解析 HTML 格式而不是 JSON 的 responseText 时,我遇到了未捕获的 JS 错误。在 1.1.3 版本中,代码被包裹在一个 try/catch 中,它会捕获解析错误。在“JSON.parse(XHR.responseText)”上引发错误。但既然它被抓住了,这很好用。错误消息冒泡给调用者。
在 1.4.2 中没有 try/catch,我得到一个未捕获的错误。我不知道我是否应该自己抓住这个。在以前的版本中,我不需要做任何事情。
谢谢
javascript - XMLHttpRequest() .responseText 未返回完整数据
我正在使用 XMLHttpRequest() 从网页获取 xml 数据并在 XmlListModel 中使用它。我遇到的问题似乎是 XmlListModel 只获得了一小部分数据,因为 .responseText 使用console.log(httpReq.responseText)
只给了我大约 20% 的部分 xml 数据。
另一个问题是 XmlListModel 总是在一个调用之后,当我第一次调用它说全屏未定义的函数时,但是当我再次调用它时它很好。但是这个函数需要每 1 秒调用一次才能获取更新的数据,因为 xml 文件总是在变化,但只有第二次调用才能给我正确的数据。
该函数如下所示:
难道我做错了什么?
ajax - ajax responseText 总是返回页面本身而不是请求的页面
我正在尝试对 Ajax 进行一个非常简单的测试 - 更改标题。但是,不是用 DoSomthing.php 文件中的所需文本更改标题,而是用我的所有 main.php 文件内容修改标题。
主文件是一个php文件,但为了测试,不需要php代码。
新标题由与主 php 文件位于同一文件夹中的 php 文件给出。这是 Ajax 调用的用于修改标题的 DoSomthing.php 文件。
顺便说一句,调试控制台中没有报告错误。
所以我不明白这里发生了什么,也没有在网上发现任何类似的问题。
谢谢
php - jquery ajax 使用 php json 编码获取数据库结果
我有这个使用 jQuery ajax 调用的 php 代码,它查询数据库并获取结果,然后对结果进行 json 编码
输出的 json 看起来像这样
我遇到的问题是在 Ajax 响应中处理它。我想做的是遍历每个数组/行并显示数据,但 responseText 显示错误。
我认为它应该看起来像这样,但我不确定。
我的问题是,我是否正确执行 json_encode 以及如何输出每一行?
xmlhttprequest - Breeze.js 在客户端上错误填充(或解析)查询的结果并且没有错误
我们在Breeze.js中有一个EntityQuery ,它带来了包含在一个实体实例中的数据以及来自相关实体的数据。
数据正确到达客户端。我可以看到来自服务器的响应,也可以在XHR.responseText中看到来自服务器的数据是正确的。
但由于某种原因,有时数据无法正确填充结果(即使用可观察对象构建的),可观察对象存在,但它们的值不正确。我明确指出,这只是有时。因为相同的查询没有更改,指向服务器上完全相同的实体实例,有时确实会正确填充结果。
由于在数据未正确解析或填充的情况下,我在 responseText 上看到了正确的数据,因此我实施了一个简单的解决方法/hack 来解决问题,但我想知道是否有其他更好的解决方法。
这是查询(出于保密原因,实体名称更改为 Op)和解决方法:
一些附加信息:
- 此解决方法有效并且已经过测试。
- 此查询通常有效,但仅在这种情况下,当它在服务器上实体的状态更改后被触发时它不起作用(返回错误的状态 ID),但正确的状态值来自服务器的响应(已检查)。
- 所以肯定是客户端解析的问题。
- 结果总是被填充并且没有错误被抛出(测试添加失败处理程序)。问题是值不正确(并且与响应的 json 中的值不同)。
- 从我所看到的猜测,它似乎使用本地存储中的旧版本实体填充结果(???),虽然这看起来很奇怪,因为没有错误并且结果从服务器返回 OK . 而且填充的数据有时甚至与上次执行时的数据不匹配。
- 使用Breeze.js 版本 1.3.0会发生这种情况,尽管看起来我们可以测试迁移到当前版本 1.4.8 以查看是否可以解决问题,但我想先知道是否有其他问题修复它并防止像这里指出的问题的方法: Breeze.js parsing XHR.responseText,然后评估我们是否应该尝试任何选项或只是保留解决方法。
有任何想法吗?
jquery - AJAX 将自定义字段传递给 jqXHR
有没有办法将额外的字段传递给jqXHR
对象?这是我的情况:
我正在返回一个HttpResponseMessage
这样的:
但在某些情况下StatusCode = HttpStatusCode.NoContent;
,出于不同的原因,我需要通过另一个:
因为消息都被本地化(Resources.Messages
)到用户语言,我需要一个额外的字段来检查例如它是否等于"someString "
或"anotherString "
或“....”在AJAX
success
回调中:
奇怪的是,xhr.statusText
它不支持xhr.statusText.startsWith()
. "someString "
所以对or或 "...."的相等检查"anotherString "
不起作用。
我注意到responseText
在回叫中总是空的success
。如果我可以从服务器“填充”那一个会很好。如果没有,我怎么能有一个额外的jqXHR
对象字段?或者定义几个新的自定义HttpStatusCode
?