WordPress环境下jQuery Ajax绝对URL被错误拼接为相对路径问题
问题原因
你填写的请求URL没有携带HTTP/HTTPS协议前缀,浏览器会默认将其识别为相对路径,因此自动拼接当前站点域名作为前缀,才会生成错误的请求地址。
修正方法
只需要给URL加上对应的协议前缀即可,修改后的完整代码如下:
jQuery(document).ready(function () { jQuery.ajax({ // 加上https:// 或者http:// 前缀,和目标资源的访问协议保持一致即可 url: "https://www.domain.com/sample.csv", dataType: "text", success: function (data) { var DailyIndex_data = data.split(/\r?\n|\r/); var table_data = '<table class="table table-striped">'; for (var count = 0; count < DailyIndex_data.length; count++) { var cell_data = DailyIndex_data[count].split(","); table_data += "<tr>"; for (var cell_count = 0; cell_count < cell_data.length; cell_count++) { if (count === 0) { table_data += "<th>" + cell_data[cell_count] + "</th>"; } else { table_data += "<td>" + cell_data[cell_count] + "</td>"; } } table_data += "</tr>"; } table_data += "</table>"; jQuery("#table").html(table_data); }, }); });
额外注意事项
- 如果修改路径后请求被浏览器拦截,属于跨域请求限制问题,需要在
www.domain.com的服务端配置CORS规则,允许你的WordPress站点域名发起跨域请求。 - 优先使用HTTPS协议发起请求,避免你的站点是HTTPS而目标资源用HTTP,触发浏览器的混合内容拦截规则。
内容的提问来源于stack exchange,提问作者kamalo
相关产品推荐
相关产品推荐

