curl命令与ajax,将curl命令转换为AJAX

本文档描述了用户在尝试将curl命令转换为AJAX请求时遇到的问题。用户最初成功地将一个简单的GET请求转换,但在处理包含多个参数的GET请求时遇到了困难,接收到错误提示缺少必要参数。更新后的AJAX代码显示了尝试传递的数据,但仍然未能正确发送所有所需信息。问题在于数据格式化和传递的方式。
摘要由CSDN通过智能技术生成

我有一个我需要使用的API,但我不确定如何通过AJAX输入我的curl命令。任何帮助,将不胜感激。将curl命令转换为AJAX

我curl命令:curl -H “Authorization: Token #{auth_token}” -X GET http://localhost:3000/api/v1/baskets/

AJAX到目前为止:

$.ajax({

url: "http://localhost:3000/api/v1/baskets/",

type: 'POST',

dataType: 'json',

contentType: 'application/json',

processData: false,

success: function (data) {

alert(JSON.stringify(data));

},

error: function(){

alert("Cannot get data");

}

});

UPDATE:问题1是固定的。除了最后一次API调用之外,我能够做出类似的方法来获得我需要的结果。除了网站之外,我无法在-d之后获取所有内容。 curl命令:curl -H “Authorization: Token #{auth_token}” -X GET -d ‘basket_id=#{basket_id}&price=#{price}&title=#{title}&merchant_url=#{merchant_url}&comment=#{comment}&product_url=#{product_url}&merchant_name=#{merchant_name}&color=#{color}&size=#{size}&product_image_url=#{product_image_url}’ http://localhost:3000/api/v1/baskets/add

AJAX至今:

$.ajax({

url: "http://localhost:3000/api/v1/baskets/add",

type: 'GET',

processData: false,

headers: { 'Authorization' : giftibly_token_string },

data: {"basket_id": "2", "title" : "Hello There", "merchant_name" : "Target", "merchant_URL" : "http://test.com", "product_url" : "http://test.com/product" },

success: function (data) {

window.response = JSON.stringify(data);

console.log(response);

},

error: function(){

console.log("Cannot get data");

}

});

浏览器结果:{"response":"Missing attributes: Basket ID, Title, Merchant Name, Merchant URL, Product URL"}

2017-09-06

Dtrav

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想要使用 PHP 接收通过 AJAX 发送的文件,并通过 cURL 转发文件内容,可以按照以下步骤进行操作: 1. 前端 AJAX 请求: ```javascript var fileInput = document.getElementById('fileInput'); var file = fileInput.files[0]; var formData = new FormData(); formData.append('file', file); var xhr = new XMLHttpRequest(); xhr.open('POST', 'upload.php', true); xhr.onload = function() { if (xhr.status === 200) { console.log('文件上传成功'); } else { console.log('文件上传失败'); } }; xhr.send(formData); ``` 在上面的示例中,我们使用 `FormData` 对象来创建一个表单数据,并将文件添加到表单中。然后,我们使用 `XMLHttpRequest` 对象发送 POST 请求到 `upload.php` 文件,将表单数据作为请求体发送。 2. 后端 PHP 文件(upload.php): ```php <?php // 获取上传的文件 $file = $_FILES['file']; // 构建 cURL 请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://目标地址'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'file' => new CURLFile($file['tmp_name'], $file['type'], $file['name']) ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 发送 cURL 请求 $response = curl_exec($ch); curl_close($ch); // 输出 cURL 响应 echo $response; ?> ``` 在上面的 PHP 文件中,我们首先通过 `$_FILES['file']` 获取上传的文件信息。然后,我们使用 cURL 构建一个 POST 请求,设置目标地址、请求体(包含上传的文件),以及其他必要的选项。最后,我们使用 `curl_exec()` 发送 cURL 请求,并使用 `echo` 输出 cURL 的响应。 确保将目标地址替换为你实际的目标地址。 这样,当前端通过 AJAX 发送文件时,PHP 将接收文件并使用 cURL 将文件内容转发到目标地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值