1

我正在做 ajax 代码,如果我有一个简单的响应,我希望响应有时放在一个 div 中,有时放在另一个 div 中的不同响应中,

if(xhr.responseText='green'){
  //div1 sould change
}elseif(xhr.responseText='red'){
  //div2 sould change
}

但是如果我在responsetext中得到一个包含许多元素的整个div,那么我该如何应用条件呢?

4

2 回答 2

1

您可以使用

if(xhr.responseText.indexOf("green") != -1){ 
/*do something*/
}

要检查整个 div 是否包含单词green,您可以为每个不同的结果添加唯一标识。

于 2013-09-10T11:27:22.287 回答
1

通常你会从你的 php 代码中发送 JSON,包括一个用于存储文本的变量和另一个定义你应该将数据放入哪个 div 的变量。就像是

$object->divname = "div1";
$object->divcontents = ...;
//serialize and send json to the page.

在 javascript 中,您将反序列化 json,决定使用什么 div 并相应地更改其内容。如何取决于您使用的框架。

您仍然可以测试responseText是否以纯格式发送 div 的全部内容。但是你会根据你需要做什么来改变条件。例如,如果您需要选择div1响应是否包含red,请使用responseText.indexOf("red") != -1

于 2013-09-10T11:30:18.980 回答