【发布时间】:2020-02-10 09:42:56
【问题描述】:
我正在尝试在某个 ajax 请求完成后运行一个函数。
由于整个站点有多个请求,因此我将使用settings.url 过滤我想要的请求,就像在官方文档中一样:
$( document ).ajaxComplete(function( event, xhr, settings ) {
if ( settings.url === "ajax/test.html" ) {
$( ".log" ).text( "Triggered ajaxComplete handler. The result is " +
xhr.responseText );
}
});
实际的url 看起来像这样https://example.com/page?ids=%2C1%2C2%2C
?ids= 之后的所有内容都随着请求的变化而变化。
现在,上面的代码只有在 settings.url 与请求中的完全相同时才会触发,包括 id。
if ( settings.url === "https://example.com/page?ids=%2C1%2C2%2C" )
所以我需要将settings.url 与https://example.com/page?ids= 和最后的通配符匹配,因为id 并不重要。
这可以通过使用正则表达式来实现吗?
【问题讨论】:
-
if ( settings.url.indexOf("https://example.com/page?ids") === 0) ... -
正则表达式是匹配字符串中模式的常规方法。为什么不可能?当你尝试时发生了什么?如果它不起作用,您可能只是犯了一个错误(请记住,您必须在正则表达式中转义
/和?)。如果您需要帮助,您需要发布您的尝试。
标签: javascript jquery regex ajax url