javascript - 跨域资源共享 : No 'Access-Control-Allow-Origin' header - but php sets header file

标签 javascript php jquery ajax

我知道有一些关于 cors 的问题已经被提出/回答...但我没有找到解决我的问题的方法...

我在 js 应用程序中收到以下错误消息(基于 jquery/jquery mobile):

无法加载资源:服务器响应状态为 500(内部服务器错误)

XMLHttpRequest 无法加载 http://www.mydomain.de/api.php 。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问原点“xyz”。响应的 HTTP 状态代码为 500

PHP 文件开头为:

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS");
header("Access-Control-Max-Age: 86400");    // cache for 1 day
...

部分js代码:

$.ajax({
 type:      'POST',
 crossDomain: true,    
 cache:         false,
 url:       "http://www.mydomain.de/api.php",
 data:      payload,
 dataType:  'json',
 success:   function(a,b,c) { }
});

php 页面托管在 strato.de/php 版本 5.7

有什么解决办法吗?

最佳答案

您可以将数据类型用作 JsonP

 dataType: 'jsonp'

那么你就不会收到错误

关于javascript - 跨域资源共享 : No 'Access-Control-Allow-Origin' header - but php sets header file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37223501/

相关文章:

php - 如果 laravel 中只有一页,则隐藏分页链接

jquery - jQuery 和 jQuery Mobile 之间的区别?

javascript - HTTP API 在 AWS Lambda 测试环境之外返回未定义的值

php - 将 SWF 转换为 PNG

php - 压缩、重组和添加子数组

jquery - 如何在密码字段中放置文本水印?

javascript - 部分字符串搜索 javascript 对象数组以查找针

javascript - 为什么这个生命周期钩子(Hook)代码会工作两次?

javascript - 在函数中插入 'continue' 语句,稍后在另一个函数中调用 'For loop' 语句

javascript - onclick 属性未按预期工作