CasperJs中的sendAJAX数据参数

时间:2015-02-02 05:20:05

标签: ajax casperjs

再次,我的casperjs出现了另一个问题,现在有了sendAJAX函数。

它说sendAJAX有5个参数,如下所示:

  • url:要求的网址。
  • 方法:HTTP方法(默认值:GET)。
  • data:请求参数(默认值:null)。
  • async:异步请求的标志? (默认:false)
  • 设置:执行AJAX请求时的其他设置(默认值: 空)

所以,它说数据方法是对象所以,它应该填充:

var data = new Object();
data.amount= 15;

还有这个,

var data = {amount:15};

但是没有成功的值发送到我的Web服务(总是发送0作为值,但ajax请求成功,甚至返回json数据)有一个像这样的URL

"http://localhost:9000/TempCountryAmountREST/setCountryAmount"

如果我将我的数据变量直接绑定到我的网址,那将会成功:

"http://localhost:9000/TempCountryAmountREST/setCountryAmount?amount="+amount

[UPDATE] TempCountryAmountREST是我的控制器名称,setCountryAmount是我的控制器中的函数。

[UPDATE] 我忘了包含我对sendAJAX()的使用,这是我使用的代码:

return JSON.parse(__utils__.sendAJAX(wsurl, "POST" , data, false, { contentType: "application/json" }));

那么我如何填充sendAJAX参数中的数据呢?

提前致谢...

1 个答案:

答案 0 :(得分:1)

抱歉,我找到了答案。

我在contentType中犯了一些错误,我用contentType设置了错误:" application / json"而不是contentType:" application / x-www-form-urlencoded" }

如果我们正在查看ajax如何从方法send()发送内容,则使用x-www-form-urlencoded。有关详细信息,请参阅this

当我们看到casperjs clientutils.js脚本时,我们应该发现sendAJAX是如何工作的。 在`this.sendAJAX =函数sendAJAX(url,方法,数据,异步,设置){ }

有url构造逻辑将我们的Object(如果是)转换为x-www-form-urlencoded格式。因此,我们需要将contentType设置为application/x-www-form-urlencoded

很好,谢谢你的关注......