简体   繁体   English

如何在javascript / jquery中提出ajax请求

[英]how to make a ajax request in javascript/jquery

I am new to JavaScript and jQuery. 我是JavaScript和jQuery的新手。 I want to send an image to RTTI server. 我想将图像发送到RTTI服务器。 I have done the same task in native ios like below. 我已经在本地ios中完成了相同的任务,如下所示。

NSData *checkData = [NSData dataWithBytes:[self getImageFileBuffer]length:self.imageFileBufferSize];
NSString *extractionURLString = [[NSUserDefaults standardUserDefaults] valueForKey:@"serverAddress"];
NSURL *checkExtractionServerURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@/mobilesdk/api/CheckDeposit",extractionURLString]];<br/>
NSMutableURLRequest  *urlRequest = [NSMutableURLRequest requestWithURL:checkExtractionServerURL cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:30];
[urlRequest setHTTPMethod:@"PUT"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[urlRequest setValue:@"image/tiff" forHTTPHeaderField:@"Content-Type"];
[urlRequest setHTTPBody:checkData];<br/>
NSURLConnection *checkConn = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:NO];
[checkConn scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
[checkConn start];

I have to do the above task in JavaScript/jQuery. 我必须在JavaScript / jQuery中完成上述任务。 I tried a lot but didn't get the solution. 我尝试了很多,但是没有找到解决方案。 My JavaScript code is below. 我的JavaScript代码如下。

var xhr4 = new XMLHttpRequest();
xhr4.open("POST", URL4, true);
xhr4.setRequestHeader('Content-Type', 'image/tiff');
xhr4.setRequestHeader('Accept','application/json');
xhr4.setRequestHeader('Content-Length',imageObjectData.length);
xhr4.onload = function (e4) {
    alert(e4.target.responseText);
};
xhr4.send(imageObjectData);

Please anybody help me. 请任何人帮助我。
Thanks in advance. 提前致谢。

Use onreadystatechange instead of onload like, 使用onreadystatechange而不是onload这样的,

var xhr4 = new XMLHttpRequest();
xhr4.open("POST", URL4, true);
xhr4.setRequestHeader('Content-Type', 'image/tiff'); 
xhr4.setRequestHeader('Accept','application/json');
xhr4.setRequestHeader('Content-Length',imageObjectData.length);
xhr4.onreadystatechange = function () { // use onreadystatechange 
     alert(xh4.responseText); // use xh4.responseText
};
xhr4.send(imageObjectData);

Use beforeSend to set header in jquery Ajax. 使用beforeSend在jquery Ajax中设置标头。

$.ajax({
        beforeSend: function(xhrObj){
                xhrObj.setRequestHeader("Content-Type","image/tiff");
                xhrObj.setRequestHeader("Accept","application/json");
        }
        type: "PUT",
        url: URL4,
        processData: false,
        data: jsonData,
        dataType: "json",
        success: function(json){
               // do something with response `json`...
        }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM