繁体   English   中英

AJAX正在更改file_get_contents的内容

[英]AJAX is changing the content of file_get_contents

我正在使用AJAX将内容加载到占位符中,PHP代码使用file_get_contents来获取所需的页面,然后将其返回给AJAX响应,并将其放入我的占位符中。 我遇到的问题是,被抓取的内容实际上正在被更改,例如将html标签放置在它们不存在的地方。这是代码:

function getPreview() { 
    var indexe = ajax.length;
    ajax[indexe] = new sack();
    var form = document.getElementById('form');
    ajax[indexe].setVar("prevsub", form.ebay_preview_submit.value);
    ajax[indexe].method = 'POST';
    ajax[indexe].requestFile = "../admin/model/catalog/getEbay.php";
    ajax[indexe].onCompletion = function(){ createPreview(indexe) };
    ajax[indexe].runAJAX();
}

function createPreview(indexe) {    
    var obj = document.getElementById('preview_ph');
    obj.innerHTML = ajax[indexe].response;
}

因此所有内容都放入了此占位符:
<div id="preview_ph" ></div>

这是进行抓取的PHP:

if(isset($_POST['prevsub'])){
$template_viewer = http://localhost:8888/admin/view/template/ebay/template_viewer.php';
$file_got = file_get_contents($template_viewer); 
echo $file_got;
}

这是应该是vs在那里添加的片段...

应该是:

Sign up for Newsletter</a> </div></td>

但是相反,它被更改了:

Sign up for Newsletter</a></td></tr>

另一个,应该是:

bidding! </span>
</div>
</td></tr>

但是变成了:

bidding! </span>
</div>
</td></tbody>

它从抓取页面的内容总共更改了7次...对此有任何解释吗?

该页面在浏览器中完美打开,它已被AJAX或file_get_contents严重更改,而我完全感到困惑。

谢谢你的帮助!

对我来说,这似乎是浏览器在执行.innerHTML操作时正在清理HTML。 这是自卫行为,因为您输出的HTML显然是无效的,对吗?

最终结果看起来像

<div id="preview_ph" > 
 Sign up for Newsletter
  </a>          <--- broken 
   </div>       <--- broken
    </td>       <--- broken
 </div>

该代码会破坏DOM,因此浏览器必须尽最大努力对其进行修复。

为什么要通过AJAX输出那些结束标记?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM