内部dataTaskWithRequest不是Executing。在Swift中击中API [英] Inside dataTaskWithRequest is not Executing. In Swift While Hitting the API
问题描述
当我使用POSTMAN进行同样的数据时,我得到了所需的响应。但是在我的函数里面 dataTaskWithRequest 我没有得到任何响应。
Same Data when I am hitting with POSTMAN I m getting the desired response. But in my Function inside dataTaskWithRequest I am Not Getting Any Response.
func sendData (){
let url = NSURL(string: "http://www.example.com/quiz-school/mobileData/request.php?request=QuizTotal&module=PQ")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions())
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){ data, response, error in
if(error != nil){
print(error)
return
}
((response as! NSHTTPURLResponse).statusCode)
}
task.resume()
}
关于数据任务
数据任务后
After Data Task
POSTMAN RESPONSE
感谢任何帮助将不胜感激。
POSTMAN RESPONSE Thanks Any Help Will Be appreciated.
我发送的字典
{
data = (
{
answer = (
9353091
);
question = 31675931;
},
{
answer = (
9353101
);
question = 31675936;
},
{
answer = (
9353111
);
question = 31675941;
},
{
answer = (
9353121
);
question = 31675946;
},
{
answer = (
9353131
);
question = 31675951;
},
{
answer = (
9353141
);
question = 31675954;
},
{
answer = (
9353151
);
question = 31675961;
},
{
answer = (
9353279
);
question = 31676023;
},
{
answer = (
9353289
);
question = 31676026;
},
{
answer = (
9353299
);
question = 31676031;
}
);
end = 5565665;
quizId = 1206500;
start = 5565656;
}
推荐答案
在我身边发布代码根据我们的讨论:
Posting code working on my side based on our discussion:
//MARK: URLRequest
func sendData (){
var dict = [String:AnyObject]()
dict =
[
"data" : [
[
"answer" : [9353091],
"question" : 31675931
],
[
"answer" : [9353101],
"question" : 31675936
]
],
"end" : 5565665,
"quizId" : 1206500,
"start" : 5565656
]
print(dict)
let url = NSURL(string: "http://www.proprofs.com/quiz-school/mobileData/request.php?request=QuizTotal&module=PQ")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions())
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){ data, response, error in
if(error != nil){
print("ERRORRRRRRR : \(error)")
return
}
print("RESPONSEEEEE : \(response)")
do {
let dic = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String:AnyObject]
print("DIIIIIIIC \(dic)")
}catch {
print("adsfdasfdsfdsafdsfadsfs")
}
((response as! NSHTTPURLResponse).statusCode)
}
task.resume()
}
最终修改:
OP在上述代码中没有问题。经过几个小时的讨论并与他聊天后,我看到错误发生在 didSelectRowAtIndexPath
中,项目在 sendData后立即崩溃:$ c调用了$ c>方法,因此没有从服务器收到响应。
The OP did not had issue in the above mentioned code. After hours of discussion and chat with him I saw that the error was in the didSelectRowAtIndexPath
, the project was crashing immediately after the sendData:
method was called, hence not response was received from the server.
这篇关于内部dataTaskWithRequest不是Executing。在Swift中击中API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!