Javascript 无法使用AJAX localhost请求html内容
我试图用Ajax将HTML代码嵌入到Javascript 无法使用AJAX localhost请求html内容,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图用Ajax将HTML代码嵌入到div元素中。(同样,我们使用iframe)。我首先在本地主机上测试这一点,以避免同源策略问题 web应用程序正在wamp服务器上运行 有两个文件: 带有Ajax请求的脚本(index.html): $.ajax({ 键入:“POST”, 网址:'http://localhost/site.php', 数据类型:“text/html;charset=utf-8”, 成功:功能(响应){ $('#testajax').html(响应); } }); 包含我打
div
元素中。(同样,我们使用iframe)。我首先在本地主机上测试这一点,以避免同源策略问题
web应用程序正在wamp服务器上运行
有两个文件:
$.ajax({
键入:“POST”,
网址:'http://localhost/site.php',
数据类型:“text/html;charset=utf-8”,
成功:功能(响应){
$('#testajax').html(响应);
}
});
这是一个标题
这是我的主要内容。
这是一个侧边栏
这是我的页脚
浏览器上没有任何日志或网络错误。。。所以我看不出这种情况有什么不对。为什么从来没有执行过Ajax成功?您应该回显html。您的php文件没有向客户端发送任何内容
<?php
header('Access-Control-Allow-Origin: *');
header("content-type:text/html; charset=utf-8");
echo '<div id="header">This is a header</div><div id="main"><div id="content">This is my main content.</div><div id="sidebar">This is a sidebar</div></div><div id="footer">This is my footer</div>';
?>
您应该回显html。您的php文件没有向客户端发送任何内容
<?php
header('Access-Control-Allow-Origin: *');
header("content-type:text/html; charset=utf-8");
echo '<div id="header">This is a header</div><div id="main"><div id="content">This is my main content.</div><div id="sidebar">This is a sidebar</div></div><div id="footer">This is my footer</div>';
?>
简化事情怎么样
$(document).ready(function() {
$('#testajax').load('http://localhost/site.php', function() {
alert('Load was performed.');
});
});
简化事情怎么样
$(document).ready(function() {
$('#testajax').load('http://localhost/site.php', function() {
alert('Load was performed.');
});
});
使用jQuery3只是提醒一下,这可能是您的问题 :从jQuery 3.0开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调将被删除。您可以改用jqXHR.done()、jqXHR.fail()和jqXHR.always() 如果这不起作用,我会:
使用jQuery3只是提醒一下,这可能是您的问题 :从jQuery 3.0开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调将被删除。您可以改用jqXHR.done()、jqXHR.fail()和jqXHR.always() 如果这不起作用,我会:
我花了很长时间测试它,因为我在开发人员控制台或网络探查器上没有错误 由于真正的代码非常大,我制作了一个片段来回答这个问题,而这个片段实际上没有任何错误 因此,我真正的代码在使用Ajax函数的文件中没有包含任何jQuery。它实际上被注入到其他PHP文件中的
元素中
另外,我没有在日志上看到错误,因为我有FireBug插件,它目前是遗留的:),并且工作不好
参考:。我花了很长时间测试它,因为我在开发人员控制台或网络探查器上没有错误 由于真正的代码非常大,我制作了一个片段来回答这个问题,而这个片段实际上没有任何错误 因此,我真正的代码在使用Ajax函数的文件中没有包含任何jQuery。它实际上被注入到其他PHP文件中的
元素中
另外,我没有在日志上看到错误,因为我有FireBug插件,它目前是遗留的:),并且工作不好
参考:。尝试不带HTML、Body和Head标记的echo诚实地说,在尝试用php输出它之前,我使用纯HTML文本。但这两种方式都不起作用。仅使用php添加标题并尝试使用。请使用浏览器开发工具“网络面板”查看请求的响应情况。浏览器或jQuery可能不喜欢额外的doctype、html、head和body标记。尝试只提供body标签中的内容。然后添加一个console.log(响应);为了你的成功。。。看看你得到了什么?只是提醒一下,如果你使用jQuery 3,这可能是你的问题::从jQuery 3.0开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调被删除。您可以使用jqXHR.done()、jqXHR.fail()和jqXHR.always()来代替。请尝试不使用HTML、Body和Head标记的echo。老实说,在尝试使用php输出之前,我使用纯HTML文本进行了此操作。但这两种方式都不起作用。仅使用php添加标题并尝试使用。请使用浏览器开发工具“网络面板”查看请求的响应情况。浏览器或jQuery可能不喜欢额外的doctype、html、head和body标记。尝试只提供body标签中的内容。然后添加一个console.log(响应);为了你的成功。。。看看你得到了什么?只是提醒一下,如果你使用jQuery 3,这可能是你的问题::从jQuery 3.0开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调被删除。您可以使用jqXHR.done()、jqXHR.fail()和jqXHR.always()来代替。。。任何超出
标记的内容都是正常输出,无论如何都会被发送。谢谢您的回答。这种方法也不起作用。@Roizpi请检查您的开发工具。检查网络请求。回显HTML是一种糟糕的做法,因为您会丢失所有intellisense、格式,并且必须混合或转义引号。胡说八道。。。任何超出
标记的内容都是正常输出,无论如何都会被发送。谢谢您的回答。这种方法也不起作用。@Roizpi请检查您的开发工具。检查网络请求。回显HTML是一种不好的做法,因为您会丢失所有intellisense、格式,并且必须混合或转义引号。谢谢您的回答。我看你的代码有道理。我确实有ajax请求方面的经验,但出于某种原因,这也不起作用。控制台中没有错误吗?这是非常直接的,所以我宁愿检查原始页面输出…最后,我的.ajax()
调用没有工作,但是您的方法.load()
工作得很好。谢谢您的回答。我看你的代码有道理。我确实有ajax请求方面的经验,但出于某种原因,这也不起作用。控制台中没有错误吗?这是非常直接的,所以我宁愿检查原始页面输出…最后,我的.ajax()
调用没有工作,但是你的方法.load()
工作得很好。:)我没有真正完整的
字符串,我