Qt WebView中出现cross domain ajax querying with jquery
2014-02-28 00:11
471 查看
在Qt的WebView中,使用ajax请求会因为cross domain ajax querying with jquery而失败,此时可以将请求转化到WebView中,利用Qhttp发送请求,相当于模拟了一个Web服务器进行请求,可以避免出现这个问题,同时,在发起Qhttp请求时,一般都需要同步等待结果输出,可以利用QEventLoop和QTimer实现同步等待以及请求超时的需求。
QString SpriteDialog::update(const QString& urlString)
{
QEventLoop loop;
QTimer timer;
QHttp req;
QUrl url(urlString);
req.setHost(url.host());
QObject::connect(&req,SIGNAL(done(bool)),&loop,SLOT(quit()));
QObject::connect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
timer.start(10000);
req.get(url.path());
qDebug()<<"request for "<<urlString;
loop.exec();
if (timer.isActive()){
timer.stop();
return QString(req.readAll());
} else {
req.abort();
return QString("");
}
}
QString SpriteDialog::update(const QString& urlString)
{
QEventLoop loop;
QTimer timer;
QHttp req;
QUrl url(urlString);
req.setHost(url.host());
QObject::connect(&req,SIGNAL(done(bool)),&loop,SLOT(quit()));
QObject::connect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
timer.start(10000);
req.get(url.path());
qDebug()<<"request for "<<urlString;
loop.exec();
if (timer.isActive()){
timer.stop();
return QString(req.readAll());
} else {
req.abort();
return QString("");
}
}
相关文章推荐
- Cross-domain Ajax with CORS
- Cross Domain JSONP ( Json with padding ) with Jquery and Servlet or JAX-WS
- Use jQuery - The jQuery Cross-Domain Ajax Guide
- How To Do A JavaScript Cross-Domain POST or GET With jQuery or XMLHttpRequest
- Cross-domain Ajax with Cross-Origin Resource Sharing
- jquery crossdomain post plugin i changed bit test code suite for my env,due to the windows env is not familiar with github operation,i didn't forked form the original resposeritoy
- jquery ajax crossDomain不能在IE下使用
- Jquery Cross-Domain ajax call using JSONP
- Passing a list of objects from view to controller via jquery ajax(Json(aspx) -> object(C#))
- jquery的ajax()函数中文传值出现乱码完美解决方案
- nginx配置好后,访问时出现crossdomain.xml
- AJAX in Django with jQuery
- JQuery Cross Domain
- Cross-Domain AJAX Enabled WCF Service
- [转]jQuery AJAX pagination plugin with ASP.NET Server Side
- Q6:关于xcode TableView使用Nib文件出现Assertion failure in dequeueReusableCellWithIdentifier:forIndexPath:错误
- Pass data to CGI script and back with jQuery.ajax
- using iscroll.js and iscroll jquery plugin in android webview to scroll div and ajax load data.
- 使用JQuery的Ajax调用SOAP-XML Web Services(Call SOAP-XML Web Services With jQuery Ajax)(译+摘录)
- 关于flex的安全沙箱问题配置crossdomain.xml仍然出现安全沙箱问题