Javascript 在ajax回发后获取html结果的值

Javascript 在ajax回发后获取html结果的值,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我需要在更改select选项后获得ajax回发的html结果。新的结果项是新的result div html的一部分,它在ajax回发后从服务器端生成一个值。我在这里遇到的问题是,如果我调用的新结果项是空值,尽管在ajax回发之后,新结果项的值实际上是显示的。那么,在使用javascript或jquery回发后,如何获得新的结果项值呢 注意:新结果项值默认为空,由服务器端在ajax回发后生成 @Model.NewResult 构造$'new-result'解析当前文档中ID为new\u res

我需要在更改select选项后获得ajax回发的html结果。新的结果项是新的result div html的一部分,它在ajax回发后从服务器端生成一个值。我在这里遇到的问题是,如果我调用的新结果项是空值,尽管在ajax回发之后,新结果项的值实际上是显示的。那么,在使用javascript或jquery回发后,如何获得新的结果项值呢

注意:新结果项值默认为空,由服务器端在ajax回发后生成

@Model.NewResult 构造$'new-result'解析当前文档中ID为new\u result的元素。与新的\u结果\u项相同

您希望解析ajax调用返回的HTML,该调用当前不在当前文档的dom中。你可以看看:


可以为您提供返回的HTML代码片段的内部内容

您可以使用下面的示例代码通过ajax将表单数据发布到PHP页面,它将起作用

<html>
<head> 
<meta name="viewport" content="width=device-width">
<meta charset="utf-8">
<title>ajax test</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script>
$(document).ready(function(){
$('#restaurant').change(function()
{
if ($(this).val() == "") {
document.getElementById("txtHint").innerHTML = "";
}
else
{
$.ajax({

url: "test.php",
data : "q="+$(this).val(), //if you want to pass one variable 
//data : "name="+name+"&natives="+natives, //if you want to pass more than 1 variable
type : "POST", // if you want to pass data via get method put "GET"
success :function(text){
alert(text);
document.getElementById('txtHint').innerHTML=text;
}
});
}
});
});
</script>
</head>
<body>

<table>
<form>
<td>
<select name="restaurant" id="restaurant">
<option value="">selection</optoin>
<option value="101">DA</option>
<option value="102">FV</option>
<option value="103">CS</option>
<option value="104">TO</option>
</select>
</td>  
</form>
</table>
<b>Select restaurant</b> <div id="txtHint"></div>
</body>
</html>
test.php代码


请添加服务器端代码,如何将其传递回js?顺便说一下:完整处理程序的第一个参数是jqXHR,而不是请求的结果响应。另外,对于POST请求,您不需要将缓存选项设置为false
<html>
<head> 
<meta name="viewport" content="width=device-width">
<meta charset="utf-8">
<title>ajax test</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script>
$(document).ready(function(){
$('#restaurant').change(function()
{
if ($(this).val() == "") {
document.getElementById("txtHint").innerHTML = "";
}
else
{
$.ajax({

url: "test.php",
data : "q="+$(this).val(), //if you want to pass one variable 
//data : "name="+name+"&natives="+natives, //if you want to pass more than 1 variable
type : "POST", // if you want to pass data via get method put "GET"
success :function(text){
alert(text);
document.getElementById('txtHint').innerHTML=text;
}
});
}
});
});
</script>
</head>
<body>

<table>
<form>
<td>
<select name="restaurant" id="restaurant">
<option value="">selection</optoin>
<option value="101">DA</option>
<option value="102">FV</option>
<option value="103">CS</option>
<option value="104">TO</option>
</select>
</td>  
</form>
</table>
<b>Select restaurant</b> <div id="txtHint"></div>
</body>
</html>
<?php
echo $_POST['q'];
?>