我想做的事情:
只需使用jquery ajax请求将一些数据(例如json)发送到node.js http服务器.
出于某种原因,我无法设法获取服务器上的数据,因为它永远不会触发请求的"数据"事件.
客户代码:
$.ajax({
url: server,
dataType: "jsonp",
data: '{"data": "TEST"}',
jsonpCallback: 'callback',
success: function (data) {
var ret = jQuery.parseJSON(data);
$('#lblResponse').html(ret.msg);
},
error: function (xhr, status, error) {
console.log('Error: ' + error.message);
$('#lblResponse').html('Error connecting to the server.');
}
});
Run Code Online (Sandbox Code Playgroud)
服务器代码:
var http = require('http');
http.createServer(function (req, res) {
console.log('Request received');
res.writeHead(200, { 'Content-Type': 'text/plain' });
req.on('data', function (chunk) {
console.log('GOT DATA!');
});
res.end('callback(\'{\"msg\": \"OK\"}\')');
}).listen(8080, '192.168.0.143');
console.log('Server running at http://192.168.0.143:8080/');
Run Code Online (Sandbox Code Playgroud)
正如我所说,它永远不会进入请求的"数据"事件.
评论:
1.记录"收到请求"消息;
2.响应很好,无法通过数据处理客户端.
有帮助吗?我错过了什么吗?
谢谢大家. …
我有两个请求:一个是POST请求,另一个是get请求。首先,我通过邮寄方式获取用户访问令牌,在其他情况下,我使用此 accessToken 来登录。我的代码不起作用。
我使用的是window 7和cypress 3.3.5
我的代码:
var value;
describe("Login operation", () => {
it("Login Request with post method", () => {
cy.request({
method:'POST',
url:'https://odms.baitussalam.org:8445/api/v1/auth/login',
body: {
"userName": "faizanj",
"password": "abc"
}
})
.then(function(response){
this.value = response.body.accessToken;
console.log("Value "+this.value);
expect(response.body.name).to.equal('Faizan');
expect(response.status).to.equal(200);
});
});
it('Second test case', function() {
var authHeader='bearer ${'+this.value+'}';
const options = {
method: 'GET',
url: `https://odms.baitussalam.org:8445/api/v1/qurbani-representative`,
headers:{
authorization:authHeader,
}};
cy.request(options)
.then((response)=>{
expect(response.status).to.equal(200);6+9
});
});
});
Run Code Online (Sandbox Code Playgroud) 我希望能够区分现有的查询字符串参数设置为null和缺少参数.所以问题的部分是:
谢谢
我从类似的问答中读到了答案
如何在JAVA中创建异步HTTP请求?|
异步编程设计模式 |
AsyncTask Android - 设计模式和返回值
我看到很多解决方案,但没有一个真的让我满意.
倾听者的方式
捕获结果后,处理将在onResult方法中实现.
public interface GeolocationListener {
public void onResult(Address[] addresses);
public void onError(Exception e);
}
Run Code Online (Sandbox Code Playgroud)
这个解决方案并不能让我满意,因为我想在main方法中处理结果.我讨厌这个接口,因为当返回响应时,它会在onResult中处理,导致处理链,无法返回"main"方法.
servlet的方式
public class SignGuestbookServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// ...
resp.sendRedirect("/guestbook.jsp");
}
}
Run Code Online (Sandbox Code Playgroud)
没有公开的Java代码调用servlet.所有配置都在web.xml中完成
我想要的方式
等待这样的回复
Response a = getResponse();
// wait until the response is received, do not go further
// process
Response b = getResponse();
// wait until the response is received, do not …Run Code Online (Sandbox Code Playgroud) 我正在使用:模块:请求 - 用简化的HTTP请求方法来刮取带有重音字符的网页á é ó ú ê ã等.
我已经尝试encoding: utf-8过没有成功.我仍然在结果中得到这个 字符.
request.get({
uri: url,
encoding: 'utf-8'
// ...
Run Code Online (Sandbox Code Playgroud)
是否有任何配置来修复它?
我不知道这是不是一个问题,但我填写了一个这个模块.还没有答案.:/
所以我正在开发一种工具,可以显示对页面的请求.
我是通过使用jQuery Ajax(http://api.jquery.com/jQuery.ajax/)来做到这一点的,我想弄清楚获得响应时间的最佳方法.
我找到了一个线程(http://forum.jquery.com/topic/jquery-get-time-of-ajax-post),它描述了在JavaScript中使用"Date",但这个方法真的可靠吗?
我的代码示例如下所示
$.ajax({
type: "POST",
url: "some.php",
}).done(function () {
// Here I want to get the how long it took to load some.php and use it further
});
Run Code Online (Sandbox Code Playgroud) 我是django的新手,我在测试app_model_changelist下拉列表中的自定义操作(例如actions = ['mark_as_read'])时遇到了问题,它与标准的"删除选中"相同.自定义操作在管理视图中工作,但我不知道如何在我的模拟请求中调用它,我知道我需要发布数据但是如何说我想对我发布的数据执行"mark_as_read"操作?
我想反转changelist url并发布查询集,以便"mark_as_read"动作函数处理我发布的数据.
change_url = urlresolvers.reverse('admin:app_model_changelist')
response = client.post(change_url, <QuerySet>)
Run Code Online (Sandbox Code Playgroud) 我正在尝试修改使用Google Chrome开发人员工具捕获的卷曲请求.
这是命令的样子
curl "http://WEBSITE" -H "Host: WEBSITE" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "Content-Type: multipart/form-data; boundary=---------------------------1184875127259" --data-binary "-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM1"""^
"FORM1DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM2"""^
"FORM2DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM3"""^
"FORM3DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""embed"""^
"true"^
"---------------------------1184875127259--"^
""
Run Code Online (Sandbox Code Playgroud)
Form#是表单的名称,Form#Data是我在表单中提交的数据.
我怎样才能将这个单线卷曲请求复制到我的命令行中并让它与我的浏览器做同样的事情?
作为标题,如何在PostMan中访问Request对象?是否可以创建这样的测试用例
tests["Response content restaurant Id : ", req.body.restaurantId] = responseBody.has(req.body.restaurantId);
Run Code Online (Sandbox Code Playgroud) 所以,我有这个代码用volley发出一个POST请求:
public class MainActivity extends AppCompatActivity {
Button btnSearch;
ProgressDialog loadingDialog;
ListView lvResult;
String session_id;
RequestQueue queue;
MyCookieManager myCookieManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSearch = (Button) findViewById(R.id.btnSearch);
lvResult = (ListView) findViewById(R.id.lvResult);
loadingDialog = new ProgressDialog(MainActivity.this);
loadingDialog.setMessage("Wait.\nLoading...");
loadingDialog.setCancelable(false);
myCookieManager = new MyCookieManager();
requestCookie(); //FIRST CALL TO GET SESSION ID
btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showLoading();
requestWithSomeHttpHeaders(); //CALL TO MAKE THE REQUEST WITH VALID SESSION ID
}
});
}
public void requestCookie() {
queue …Run Code Online (Sandbox Code Playgroud) request ×10
javascript ×2
jquery ×2
node.js ×2
post ×2
response ×2
action ×1
admin ×1
ajax ×1
android ×1
asynchronous ×1
cookies ×1
curl ×1
cypress ×1
django ×1
get ×1
http-post ×1
java ×1
networking ×1
php ×1
postman ×1
query-string ×1
testing ×1
time ×1
web-scraping ×1