问题描述
我正在使用 apache 服务器,使用 javascript 捕获表单数据并通过 XHR 将表单数据发送到 PHP 端点。
编辑:我的代码在本地运行良好,但在实时站点上返回 500 内部服务器错误以及未捕获的语法错误。
下面是javascript文件中的XHR,未捕获的语法错误发生在第4行(onload()
)和第5行(JSON输入的意外结束):
index.js
var xhr = new XMLHttpRequest();
xhr.open('POST',submitUrl,true);
xhr.setRequestHeader('Content-Type','application/json');
xhr.onload = () => {
var response = JSON.parse(xhr.responseText);
console.log(response);
if (response.error === 'member-exists') {
setAlreadySubscribed();
showStatusAndHideForm();
} else if (response.error === 'none') {
setSuccess();
showStatusAndHideForm();
} else {
alertUnkNownError();
enableForm();
}
}
xhr.send(body);
})
下面是 PHP,它通过 cURL 将数据发布到外部 API:
submitUrl.PHP
$ch = curl_init('https://foo');
curl_setopt_array($ch,array(
CURLOPT_POST => TRUE,CURLOPT_RETURNTRANSFER => TRUE,CURLOPT_HTTPHEADER => array(
'Authorization: apikey '.$authToken,'Content-Type: application/json'
),CURLOPT_POSTFIELDS => $userdata
),);
$result = curl_exec($ch);
然后我解码 cURL $result
以检查来自外部 API 的错误,并将它们编码以发送回 XHR。
Devtools 在 index.js 的第 18 行显示 500 错误。
关于为什么会发生这种情况的任何想法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)