【发布时间】:2023-03-14 17:40:01
【问题描述】:
长期阅读,第一次提问。
我有一个在发生条件时发送 JSON 消息的应用程序。我正在尝试让网页在收到 JSON 消息时刷新。
我对 Web 开发非常陌生,并使用了这个很棒的教程来启动 Get Post:
https://www.youtube.com/watch?v=aTj0ZLha1zE
当本地文件“data.json”发生更改时,我在这里使用了https://stackoverflow.com/users/88204/james-lawruk 很好的答案来刷新网页。 How to refresh a page whenever my json data file changes
我不知道如何从 swift 触发刷新。 我可能在这里遗漏了一些基本的东西,但我不知道去哪里找。
我的快速代码:
@IBAction func OnPostTapped(_ sender: Any) {
let parameters = ["username": "@you", "tweet": "HelloWorld"]
guard let url = URL(string: "http://localhost:8888/data.json") else { return }
var request = URLRequest(url:url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else {return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print (response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print (json)
}catch {
print (error)
}
}
}.resume()
}
编辑
我应该澄清一下,该应用没有 UIWebView,它只是将 JSON 发送到网页。我正在尝试让网页在用户的浏览器上刷新。
【问题讨论】:
-
你应该执行
yourWebView.reload(); -
您想要实现的目标没有任何意义?除非您的应用程序控制浏览器,否则无法刷新用户浏览器上的网页。 (在这种情况下为
UIWebView)。 -
您的网络浏览器可能会轮询服务器以获取更新。这与 swift 或与您的应用发布新数据的任何直接链接无关,这将是一个单独的机制。
标签: javascript jquery json swift ajax