在我的本地计算机上,所有Ajax请求都可以正常工作,并且该应用程序可以完美运行。在主机上情况则不同。尝试在Ajax脚本下执行时,我得到了:
跨源请求被阻止:同源策略禁止阅读 https://googleads.g.doubleclick.net/pagead/id上的远程资源。 (原因:CORS请求未成功。)
我整天都在尝试修复此错误,但无济于事。我什至在每页的开头都添加了这个
<?php ob_start();
header('Content-Type: text/html; charset=utf-8');
header("Access-Control-Allow-Origin: *");
?>
我了解了JSONP,并且想知道如何实施此解决方案?
这是Ajax的 short 版本
$( ".submit-signup-form" ).click(function(e) {
e.preventDefault();
if(formvalues!==''){
$("#sign-up-form-2").submit(
$.ajax({
type: "POST",
url: 'queries/register.php',
data: formvalues,
success: function(customerarr){ //callback}
})
})
});
}
在控制台中调试应用程序时,我尝试了console.log(formvalues)
,所有内容都可以正常打印了。表单确实获取了所有变量,因此我不了解如何使脚本在实时主机上工作。
答案 0 :(得分:0)
您可以在ajax请求中使用它...
class C
{
using Data = std::shared_ptr<std::array<std::string, 10>>;
Data data;
C(Data& data) : data(data) { }
};
class A
{
static size_t const DataLength = 10;
template <size_t N>
A(std::array<std::string, N>& data)
{
static_assert(N <= DataLength);
std::copy(data.begin(), data.end(), this->data.begin());
}
};