使用ajax而不是使用带有curl的php文件从另一个网页获取响应
Using ajax instead of using a php file with curl to get a response from another webpage
我有一项任务要找到一种停止使用php curl的方法,而且我必须只使用javascript而不使用jQuery。这是我的php文件,它被另一个ajax调用:
$jsonData = json_decode(file_get_contents('php://input'));
$url ='https://api.#######.com/####'; // this is not my website, just using their api
$ch = curl_init();
$data = array(
'text' => $jsonData,
'from' => 'eng',
'to' => 'fra'
);
$data_encoded = json_encode($data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
'Authorization: SECRET apikey=###'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_encoded);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$result = curl_exec($ch);
echo $result;
这是我的新ajax,但我得到了这个错误:NS_error_FAILURE:失败
function getTranslation(a_data,from,to)
{
var json_array = {};
var url = 'https://api.#####.com/#####';
var xmlhttp;
json_array = { 'text': a_data,
'from' : 'eng',
'to' : 'fra' };
var json_data = JSON.stringify(json_array);
console.log(json_data);
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST", url, false);
xmlhttp.setRequestHeader("Content-type","application/json");
xmlhttp.setRequestHeader("Authorization","SECRET apiKey=###");
xmlhttp.send();
json_parsed = JSON.parse(xmlhttp.responseText);
return json_parsed.translation;
}
如果我遗漏了什么,请告诉我,我会补充更多细节。
您需要使用CORS或JSONp之类的技术来解决这个问题。上面的链接提供了更多详细信息。
相关文章:
- 如何在php文件中获取$.post-ajax传递的值
- Javascript运行php文件,然后下载文件
- 通过Ajax将JavaScript函数传递给PHP文件
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 通过ajax到php文件获取单选按钮值
- 每天用javascript包含不同的php文件
- 如何使用javascript调用Php文件
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 在CodeIgniter视图中将Javascript或jQuery代码作为PHP文件编写可以吗
- CORS:否'访问控制允许来源'header-但是php设置头文件
- 用PHP发送html表单和文件附件
- 动态地包含来自外部文件PHP的JavaScript
- 向文件 php 表单提交添加多个输入
- 将web服务响应转换为PDF文件- PHP, Javascript
- 基于XML文件(PHP, Jquery)的页面生成
- 如何使用jQuery.ajax发送请求到文件php
- 显示数据下拉列表从另一个文件(php,mysql,javascript)
- 两个电子邮件在同一个文件php
- 从mysql中存储和检索用户js文件.php
- 组织3个文件:PHP、HTML、JS和Smarty