Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将Ajax返回插入HTML_Javascript_Php_Jquery_Ajax_Dom - Fatal编程技术网

Javascript 无法将Ajax返回插入HTML

Javascript 无法将Ajax返回插入HTML,javascript,php,jquery,ajax,dom,Javascript,Php,Jquery,Ajax,Dom,我试图使用一个PHP文件来处理来自Ajax请求的序列化信息。我想发回每个表单字段的值,由插入到div中的javascript进一步操作。结果不会插入到HTML中。当我提醒结果时,我得到{return:[form value for name,form value for description]}有什么建议吗 编辑:用相关的HTML和修改过的PHP代码更新了问题 HTML: PHP: 试着这样做: $('#formBasicResults').html(result['return'][0]);

我试图使用一个PHP文件来处理来自Ajax请求的序列化信息。我想发回每个表单字段的值,由插入到div中的javascript进一步操作。结果不会插入到HTML中。当我提醒结果时,我得到{return:[form value for name,form value for description]}有什么建议吗

编辑:用相关的HTML和修改过的PHP代码更新了问题

HTML:

PHP:


试着这样做:

$('#formBasicResults').html(result['return'][0]); 

与此相反:

if ($_POST['token'] == $_SESSION['token']) 
{$return['return']=array();
if(!empty($_POST['name'])){$return['return'][] = '<p>' . htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8') . '</p>'; 
if(!empty($_POST['description'])){$return['return'][] = '<p>' . htmlentities($_POST['description'], ENT_QUOTES, 'UTF-8') . '</p>';}
echo json_encode($return); }}
这样做:

$return['responseText']='';
if ($_POST['token'] == $_SESSION['token']) 
{

if(!empty($_POST['name'])){

$return['responseText'] .= '<p>' . htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8') . '</p>'; 

if(!empty($_POST['description'])){

$return['responseText'] .= '<p>' . htmlentities($_POST['description'], ENT_QUOTES, 'UTF-8') . '</p>';}

}
}
echo json_encode($return); 

您的结果没有responseText属性。您必须将您所拥有的内容放入html,或者更改您在PHP中打印的内容。如果您没有将content header设置为应用程序,还必须将dataType参数添加到$.post/json@user86745458我很困惑,你为什么在我原来的帖子中编辑代码?看来你改变的够多了,应该是答案。另外,我看到您替换了$\u POST['name'],而不是$\u POST['description']。这是故意的吗?在用户86745458编辑之后,我现在在警报中得到以下结果:{description:[],return:[text for name,text for description]}谢谢。不幸的是,信息仍然被插入到我的HTML中。如果您看到json数组被插入到您的HTML中,请将jQuery post数据类型设置为json。我对代码做了很多修改并添加了json数据类型,但问题仍然存在。
$('#formBasicResults').html(result['return'][0]); 
$('#formBasicResults').html(result['return'][1]);
if ($_POST['token'] == $_SESSION['token']) 
{$return['return']=array();
if(!empty($_POST['name'])){$return['return'][] = '<p>' . htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8') . '</p>'; 
if(!empty($_POST['description'])){$return['return'][] = '<p>' . htmlentities($_POST['description'], ENT_QUOTES, 'UTF-8') . '</p>';}
echo json_encode($return); }}
$return['responseText']='';
if ($_POST['token'] == $_SESSION['token']) 
{

if(!empty($_POST['name'])){

$return['responseText'] .= '<p>' . htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8') . '</p>'; 

if(!empty($_POST['description'])){

$return['responseText'] .= '<p>' . htmlentities($_POST['description'], ENT_QUOTES, 'UTF-8') . '</p>';}

}
}
echo json_encode($return);