作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个来自远程站点的 ajax 调用,当我在同一站点上测试它时,它可以工作,当我从远程站点调用它时,我得到 200 OK 但空响应。
<script type="text/javascript">
function getPage(storename,entries,page) {
$('#output').html('<div class="centriraj"><span>Loading...</span><img id="loader" src="LoaderIcon.gif" /></div>');
jQuery.ajax({
url: "http://jebajiga.byethost32.com/pager.php",
crossOrigin: true,
data:'page='+page+'&entries='+entries+'&storename='+storename,
dataType: "html",
type: "POST",
success:function(data){$('#output').html(data);}
});
}
getPage('cvsstarshop1991',30,1);
</script>
<script type="text/javascript">
function getListCategories(storename) {
jQuery.ajax({
url: "http://jebajiga.byethost32.com/categories.php",
crossOrigin: true,
data:'storename='+storename,
dataType: "html",
type: "POST",
success:function(data){$('#output2').html(data);}
});
}
getListCategories('cvsstarshop1991');
</script>
最佳答案
为了使用 jquery/javascript 访问远程站点的数据,远程服务器必须允许 CORS。这是一项安全措施。如果服务器是您的,请将以下内容添加到页眉输出中。
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) {
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
}
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) {
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
}
exit(0);
}
关于javascript - jquery ajax跨站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32459991/
我有一个站点是在 asp.net 中完成的。另一个较新的站点是在 asp.net MVC、LINQ 和 Razor 中完成的。 当我访问旧站点 oldsite/default?userid=243 时
我想提供一段 Javascript 代码,它可以在包含它的任何网站上运行,但它总是需要在托管 Javascript 的服务器上获取更多数据(甚至修改数据)。我知道出于显而易见的原因存在安全限制。 考虑
我是一名优秀的程序员,十分优秀!