为什么不't CasperJS'sendAJAX函数为PUT请求发送任何内容
Why doesn't CasperJS' sendAJAX function send any content for PUT requests?
我想通过我的应用程序使用PUT方法更新JSON对象。我正在尝试部分模拟表单提交的操作。这个调用是同步的,因为在PUT之后,应该返回一个200。然而,当我尝试下面的代码时,sendAJAX不包括对象的内容,PUT请求的内容长度为0。通过表单提交的内容具有所有正确的设置-内容类型、x-requested-wwith等。我不太清楚为什么下面的代码不能像我预期的那样工作。我还尝试将var"data"设置为json格式的参数字符串。这还会导致一个内容长度为0的PUT请求。
我在这里做错了什么?
casper.then(function() {
this.evaluate(function() {
var element = document.querySelectorAll("h6");
for (var i = 0; i < element.length; i++) {
if (element[i].innerHTML == "Special Tag") {
var appid = element[i].parentNode.parentNode.getAttribute("app-id");
var wsurl = "https://appurl.net"+appid;
var data = new Object();
data.user_id = "xxxxx-xxxx-xxxx-xxxx-xxxx";
data.name = "Name";
data.description = "blahr blahr blahr";
data.amount = "-9000000";
data.start = 1409900400000;
data.finish = 1412492400000;
data.seq = 0;
data.locked = false;
data.paused = false;
data.contributed_amount = 0;
data.created = 1409920472782;
data.modified = 1426538857339;
data.color = "#E37368";
data.archived = false;
data.target_amount = null;
data.uuid = "xxxx-xxxxx-xxxxx-xxxxxx";
data.aprox_daily_contribution = 0;
return JSON.parse(__utils__.sendAJAX(wsurl, "PUT", data, false, { contentType: "application/json"}));
CasperJS的sendAJAX()
函数不支持PUT请求,如代码所示:
xhr.send(method === "POST" ? dataString : null);
或者更准确地说,它只支持POST请求的有效负载。您将不得不自己构建XHR或相应地更改CasperJS代码。
我认为您不需要模拟表单提交。如果你正在测试web应用程序,那么最好实际提交表单,然后检查它是否产生了正确的页面,而不是解析响应,因为你需要有效地实现两次逻辑:在页面JavaScript和测试脚本中。
相关文章:
- Angular js-尚未添加PUT请求到服务的URL
- 为什么不't CasperJS'sendAJAX函数为PUT请求发送任何内容
- 使用Sequelize.js创建简单PUT请求时出错
- 尝试将请求简单地PUT到Node.js中的JSON文件
- 使用get/put/delete方法从ajax请求调用laravel-controler
- 主干正在执行POST请求而不是PUT请求
- 如何在页面卸载时发送AJAX PUT请求而不取消
- HUE API JavaScript HTTP PUT请求返回;net::ERR_EMPTY_REPONSE”;
- JSON PUT 请求错误
- ngResource PUT 由于 JSON 对象中的$promise和$resolved而返回错误请求
- Dojo :如何使用回调方法在 jsonRest 存储上发出 PUT 请求
- 获取 404 用于 IIS 7.5 服务器 2008 上的 PUT 和 DELETE 请求
- AWS S3 ajax PUT 返回“我们计算的请求签名与您提供的签名不匹配”
- Node/Express-如何实现DELETE和PUT请求
- 如何使用javascript或jQuery与PUT或DELETE请求同步导航寻址
- 如何在Backbone中向PUT请求添加尾部斜杠
- 跨来源请求阻止Angular JS Put请求
- 主干在保存后未使用save()发出put请求
- Backbone.js保存模型don't在android 2.x上引起ajax PUT请求
- PUT请求的DOM异常19